diff --git a/docs/_docset.yml b/docs/_docset.yml
index ff58f3263..bf6afb78f 100644
--- a/docs/_docset.yml
+++ b/docs/_docset.yml
@@ -85,6 +85,7 @@ toc:
- file: example_blocks.md
- file: file_inclusion.md
- file: frontmatter.md
+ - file: icons.md
- file: images.md
- file: lists.md
- file: line_breaks.md
diff --git a/docs/syntax/icons.md b/docs/syntax/icons.md
new file mode 100644
index 000000000..89ff2fbd0
--- /dev/null
+++ b/docs/syntax/icons.md
@@ -0,0 +1,580 @@
+# Icons
+
+You can include icons in your documentation using the `` {icon}`icon-name` `` syntax. For example, writing `` {icon}`check` `` will render a checkmark icon.
+
+## Available Icons
+
+Here is a list of all available icons:
+
+| Syntax | Icon |
+|:--------------------------------------------|:-------------------------------------:|
+| `` {icon}`accessibility` `` | {icon}`accessibility` |
+| `` {icon}`aggregate` `` | {icon}`aggregate` |
+| `` {icon}`analyzeEvent` `` | {icon}`analyzeEvent` |
+| `` {icon}`annotation` `` | {icon}`annotation` |
+| `` {icon}`anomaly_chart` `` | {icon}`anomaly_chart` |
+| `` {icon}`anomaly_swim_lane` `` | {icon}`anomaly_swim_lane` |
+| `` {icon}`apm_trace` `` | {icon}`apm_trace` |
+| `` {icon}`app_add_data` `` | {icon}`app_add_data` |
+| `` {icon}`app_advanced_settings` `` | {icon}`app_advanced_settings` |
+| `` {icon}`app_agent` `` | {icon}`app_agent` |
+| `` {icon}`app_apm` `` | {icon}`app_apm` |
+| `` {icon}`app_app_search` `` | {icon}`app_app_search` |
+| `` {icon}`app_auditbeat` `` | {icon}`app_auditbeat` |
+| `` {icon}`app_canvas` `` | {icon}`app_canvas` |
+| `` {icon}`app_cases` `` | {icon}`app_cases` |
+| `` {icon}`app_code` `` | {icon}`app_code` |
+| `` {icon}`app_console` `` | {icon}`app_console` |
+| `` {icon}`app_cross_cluster_replication` `` | {icon}`app_cross_cluster_replication` |
+| `` {icon}`app_dashboard` `` | {icon}`app_dashboard` |
+| `` {icon}`app_devtools` `` | {icon}`app_devtools` |
+| `` {icon}`app_discover` `` | {icon}`app_discover` |
+| `` {icon}`app_ems` `` | {icon}`app_ems` |
+| `` {icon}`app_filebeat` `` | {icon}`app_filebeat` |
+| `` {icon}`app_fleet` `` | {icon}`app_fleet` |
+| `` {icon}`app_gis` `` | {icon}`app_gis` |
+| `` {icon}`app_graph` `` | {icon}`app_graph` |
+| `` {icon}`app_grok` `` | {icon}`app_grok` |
+| `` {icon}`app_heartbeat` `` | {icon}`app_heartbeat` |
+| `` {icon}`app_index_management` `` | {icon}`app_index_management` |
+| `` {icon}`app_index_pattern` `` | {icon}`app_index_pattern` |
+| `` {icon}`app_index_rollup` `` | {icon}`app_index_rollup` |
+| `` {icon}`app_lens` `` | {icon}`app_lens` |
+| `` {icon}`app_logs` `` | {icon}`app_logs` |
+| `` {icon}`app_management` `` | {icon}`app_management` |
+| `` {icon}`app_metricbeat` `` | {icon}`app_metricbeat` |
+| `` {icon}`app_metrics` `` | {icon}`app_metrics` |
+| `` {icon}`app_ml` `` | {icon}`app_ml` |
+| `` {icon}`app_monitoring` `` | {icon}`app_monitoring` |
+| `` {icon}`app_notebook` `` | {icon}`app_notebook` |
+| `` {icon}`app_packetbeat` `` | {icon}`app_packetbeat` |
+| `` {icon}`app_pipeline` `` | {icon}`app_pipeline` |
+| `` {icon}`app_recently_viewed` `` | {icon}`app_recently_viewed` |
+| `` {icon}`app_reporting` `` | {icon}`app_reporting` |
+| `` {icon}`app_saved_objects` `` | {icon}`app_saved_objects` |
+| `` {icon}`app_search_profiler` `` | {icon}`app_search_profiler` |
+| `` {icon}`app_security` `` | {icon}`app_security` |
+| `` {icon}`app_security_analytics` `` | {icon}`app_security_analytics` |
+| `` {icon}`app_spaces` `` | {icon}`app_spaces` |
+| `` {icon}`app_sql` `` | {icon}`app_sql` |
+| `` {icon}`app_timelion` `` | {icon}`app_timelion` |
+| `` {icon}`app_upgrade_assistant` `` | {icon}`app_upgrade_assistant` |
+| `` {icon}`app_uptime` `` | {icon}`app_uptime` |
+| `` {icon}`app_users_roles` `` | {icon}`app_users_roles` |
+| `` {icon}`app_visualize` `` | {icon}`app_visualize` |
+| `` {icon}`app_vulnerability_management` `` | {icon}`app_vulnerability_management` |
+| `` {icon}`app_watches` `` | {icon}`app_watches` |
+| `` {icon}`app_workplace_search` `` | {icon}`app_workplace_search` |
+| `` {icon}`apps` `` | {icon}`apps` |
+| `` {icon}`arrowEnd` `` | {icon}`arrowEnd` |
+| `` {icon}`arrowStart` `` | {icon}`arrowStart` |
+| `` {icon}`arrow_down` `` | {icon}`arrow_down` |
+| `` {icon}`arrow_left` `` | {icon}`arrow_left` |
+| `` {icon}`arrow_right` `` | {icon}`arrow_right` |
+| `` {icon}`arrow_up` `` | {icon}`arrow_up` |
+| `` {icon}`article` `` | {icon}`article` |
+| `` {icon}`asterisk` `` | {icon}`asterisk` |
+| `` {icon}`at` `` | {icon}`at` |
+| `` {icon}`bell` `` | {icon}`bell` |
+| `` {icon}`bellSlash` `` | {icon}`bellSlash` |
+| `` {icon}`beta` `` | {icon}`beta` |
+| `` {icon}`bolt` `` | {icon}`bolt` |
+| `` {icon}`boxes_horizontal` `` | {icon}`boxes_horizontal` |
+| `` {icon}`boxes_vertical` `` | {icon}`boxes_vertical` |
+| `` {icon}`branch` `` | {icon}`branch` |
+| `` {icon}`branchUser` `` | {icon}`branchUser` |
+| `` {icon}`broom` `` | {icon}`broom` |
+| `` {icon}`brush` `` | {icon}`brush` |
+| `` {icon}`bug` `` | {icon}`bug` |
+| `` {icon}`bullseye` `` | {icon}`bullseye` |
+| `` {icon}`calendar` `` | {icon}`calendar` |
+| `` {icon}`change_point_detection` `` | {icon}`change_point_detection` |
+| `` {icon}`check` `` | {icon}`check` |
+| `` {icon}`checkCircle` `` | {icon}`checkCircle` |
+| `` {icon}`checkInCircleFilled` `` | {icon}`checkInCircleFilled` |
+| `` {icon}`cheer` `` | {icon}`cheer` |
+| `` {icon}`clickLeft` `` | {icon}`clickLeft` |
+| `` {icon}`clickRight` `` | {icon}`clickRight` |
+| `` {icon}`clock` `` | {icon}`clock` |
+| `` {icon}`clockCounter` `` | {icon}`clockCounter` |
+| `` {icon}`cloudDrizzle` `` | {icon}`cloudDrizzle` |
+| `` {icon}`cloudStormy` `` | {icon}`cloudStormy` |
+| `` {icon}`cloudSunny` `` | {icon}`cloudSunny` |
+| `` {icon}`cluster` `` | {icon}`cluster` |
+| `` {icon}`code` `` | {icon}`code` |
+| `` {icon}`color` `` | {icon}`color` |
+| `` {icon}`comment` `` | {icon}`comment` |
+| `` {icon}`compute` `` | {icon}`compute` |
+| `` {icon}`console` `` | {icon}`console` |
+| `` {icon}`container` `` | {icon}`container` |
+| `` {icon}`continuityAbove` `` | {icon}`continuityAbove` |
+| `` {icon}`continuityAboveBelow` `` | {icon}`continuityAboveBelow` |
+| `` {icon}`continuityBelow` `` | {icon}`continuityBelow` |
+| `` {icon}`continuityWithin` `` | {icon}`continuityWithin` |
+| `` {icon}`contrast` `` | {icon}`contrast` |
+| `` {icon}`contrastHigh` `` | {icon}`contrastHigh` |
+| `` {icon}`controls` `` | {icon}`controls` |
+| `` {icon}`copy` `` | {icon}`copy` |
+| `` {icon}`copy_clipboard` `` | {icon}`copy_clipboard` |
+| `` {icon}`cross` `` | {icon}`cross` |
+| `` {icon}`cross_in_circle` `` | {icon}`cross_in_circle` |
+| `` {icon}`crosshairs` `` | {icon}`crosshairs` |
+| `` {icon}`currency` `` | {icon}`currency` |
+| `` {icon}`cut` `` | {icon}`cut` |
+| `` {icon}`database` `` | {icon}`database` |
+| `` {icon}`desktop` `` | {icon}`desktop` |
+| `` {icon}`diff` `` | {icon}`diff` |
+| `` {icon}`document` `` | {icon}`document` |
+| `` {icon}`documentEdit` `` | {icon}`documentEdit` |
+| `` {icon}`documentation` `` | {icon}`documentation` |
+| `` {icon}`documents` `` | {icon}`documents` |
+| `` {icon}`dot` `` | {icon}`dot` |
+| `` {icon}`dotInCircle` `` | {icon}`dotInCircle` |
+| `` {icon}`doubleArrowLeft` `` | {icon}`doubleArrowLeft` |
+| `` {icon}`doubleArrowRight` `` | {icon}`doubleArrowRight` |
+| `` {icon}`download` `` | {icon}`download` |
+| `` {icon}`editorDistributeHorizontal` `` | {icon}`editorDistributeHorizontal` |
+| `` {icon}`editorDistributeVertical` `` | {icon}`editorDistributeVertical` |
+| `` {icon}`editorItemAlignBottom` `` | {icon}`editorItemAlignBottom` |
+| `` {icon}`editorItemAlignCenter` `` | {icon}`editorItemAlignCenter` |
+| `` {icon}`editorItemAlignLeft` `` | {icon}`editorItemAlignLeft` |
+| `` {icon}`editorItemAlignMiddle` `` | {icon}`editorItemAlignMiddle` |
+| `` {icon}`editorItemAlignRight` `` | {icon}`editorItemAlignRight` |
+| `` {icon}`editorItemAlignTop` `` | {icon}`editorItemAlignTop` |
+| `` {icon}`editorPositionBottomLeft` `` | {icon}`editorPositionBottomLeft` |
+| `` {icon}`editorPositionBottomRight` `` | {icon}`editorPositionBottomRight` |
+| `` {icon}`editorPositionTopLeft` `` | {icon}`editorPositionTopLeft` |
+| `` {icon}`editorPositionTopRight` `` | {icon}`editorPositionTopRight` |
+| `` {icon}`editor_align_center` `` | {icon}`editor_align_center` |
+| `` {icon}`editor_align_left` `` | {icon}`editor_align_left` |
+| `` {icon}`editor_align_right` `` | {icon}`editor_align_right` |
+| `` {icon}`editor_bold` `` | {icon}`editor_bold` |
+| `` {icon}`editor_checklist` `` | {icon}`editor_checklist` |
+| `` {icon}`editor_heading` `` | {icon}`editor_heading` |
+| `` {icon}`editor_italic` `` | {icon}`editor_italic` |
+| `` {icon}`editor_link` `` | {icon}`editor_link` |
+| `` {icon}`editor_ordered_list` `` | {icon}`editor_ordered_list` |
+| `` {icon}`editor_redo` `` | {icon}`editor_redo` |
+| `` {icon}`editor_strike` `` | {icon}`editor_strike` |
+| `` {icon}`editor_table` `` | {icon}`editor_table` |
+| `` {icon}`editor_underline` `` | {icon}`editor_underline` |
+| `` {icon}`editor_undo` `` | {icon}`editor_undo` |
+| `` {icon}`editor_unordered_list` `` | {icon}`editor_unordered_list` |
+| `` {icon}`email` `` | {icon}`email` |
+| `` {icon}`empty` `` | {icon}`empty` |
+| `` {icon}`endpoint` `` | {icon}`endpoint` |
+| `` {icon}`eql` `` | {icon}`eql` |
+| `` {icon}`eraser` `` | {icon}`eraser` |
+| `` {icon}`error` `` | {icon}`error` |
+| `` {icon}`errorFilled` `` | {icon}`errorFilled` |
+| `` {icon}`esqlVis` `` | {icon}`esqlVis` |
+| `` {icon}`exit` `` | {icon}`exit` |
+| `` {icon}`expand` `` | {icon}`expand` |
+| `` {icon}`expandMini` `` | {icon}`expandMini` |
+| `` {icon}`export` `` | {icon}`export` |
+| `` {icon}`eye` `` | {icon}`eye` |
+| `` {icon}`eye_closed` `` | {icon}`eye_closed` |
+| `` {icon}`face_happy` `` | {icon}`face_happy` |
+| `` {icon}`face_neutral` `` | {icon}`face_neutral` |
+| `` {icon}`face_sad` `` | {icon}`face_sad` |
+| `` {icon}`field_statistics` `` | {icon}`field_statistics` |
+| `` {icon}`filter` `` | {icon}`filter` |
+| `` {icon}`filterExclude` `` | {icon}`filterExclude` |
+| `` {icon}`filterIgnore` `` | {icon}`filterIgnore` |
+| `` {icon}`filterInCircle` `` | {icon}`filterInCircle` |
+| `` {icon}`filterInclude` `` | {icon}`filterInclude` |
+| `` {icon}`flag` `` | {icon}`flag` |
+| `` {icon}`flask` `` | {icon}`flask` |
+| `` {icon}`fold` `` | {icon}`fold` |
+| `` {icon}`folder_check` `` | {icon}`folder_check` |
+| `` {icon}`folder_closed` `` | {icon}`folder_closed` |
+| `` {icon}`folder_exclamation` `` | {icon}`folder_exclamation` |
+| `` {icon}`folder_open` `` | {icon}`folder_open` |
+| `` {icon}`frameNext` `` | {icon}`frameNext` |
+| `` {icon}`framePrevious` `` | {icon}`framePrevious` |
+| `` {icon}`fullScreenExit` `` | {icon}`fullScreenExit` |
+| `` {icon}`full_screen` `` | {icon}`full_screen` |
+| `` {icon}`function` `` | {icon}`function` |
+| `` {icon}`gear` `` | {icon}`gear` |
+| `` {icon}`globe` `` | {icon}`globe` |
+| `` {icon}`grab` `` | {icon}`grab` |
+| `` {icon}`grabOmnidirectional` `` | {icon}`grabOmnidirectional` |
+| `` {icon}`grab_horizontal` `` | {icon}`grab_horizontal` |
+| `` {icon}`gradient` `` | {icon}`gradient` |
+| `` {icon}`grid` `` | {icon}`grid` |
+| `` {icon}`heart` `` | {icon}`heart` |
+| `` {icon}`heatmap` `` | {icon}`heatmap` |
+| `` {icon}`help` `` | {icon}`help` |
+| `` {icon}`home` `` | {icon}`home` |
+| `` {icon}`image` `` | {icon}`image` |
+| `` {icon}`import` `` | {icon}`import` |
+| `` {icon}`index` `` | {icon}`index` |
+| `` {icon}`indexTemporary` `` | {icon}`indexTemporary` |
+| `` {icon}`index_close` `` | {icon}`index_close` |
+| `` {icon}`index_edit` `` | {icon}`index_edit` |
+| `` {icon}`index_flush` `` | {icon}`index_flush` |
+| `` {icon}`index_mapping` `` | {icon}`index_mapping` |
+| `` {icon}`index_open` `` | {icon}`index_open` |
+| `` {icon}`index_runtime` `` | {icon}`index_runtime` |
+| `` {icon}`index_settings` `` | {icon}`index_settings` |
+| `` {icon}`infinity` `` | {icon}`infinity` |
+| `` {icon}`info` `` | {icon}`info` |
+| `` {icon}`inputOutput` `` | {icon}`inputOutput` |
+| `` {icon}`inspect` `` | {icon}`inspect` |
+| `` {icon}`invert` `` | {icon}`invert` |
+| `` {icon}`ip` `` | {icon}`ip` |
+| `` {icon}`key` `` | {icon}`key` |
+| `` {icon}`keyboard` `` | {icon}`keyboard` |
+| `` {icon}`kql_field` `` | {icon}`kql_field` |
+| `` {icon}`kql_function` `` | {icon}`kql_function` |
+| `` {icon}`kql_operand` `` | {icon}`kql_operand` |
+| `` {icon}`kql_selector` `` | {icon}`kql_selector` |
+| `` {icon}`kql_value` `` | {icon}`kql_value` |
+| `` {icon}`kubernetesNode` `` | {icon}`kubernetesNode` |
+| `` {icon}`kubernetesPod` `` | {icon}`kubernetesPod` |
+| `` {icon}`launch` `` | {icon}`launch` |
+| `` {icon}`layers` `` | {icon}`layers` |
+| `` {icon}`lettering` `` | {icon}`lettering` |
+| `` {icon}`lineDashed` `` | {icon}`lineDashed` |
+| `` {icon}`lineDotted` `` | {icon}`lineDotted` |
+| `` {icon}`lineSolid` `` | {icon}`lineSolid` |
+| `` {icon}`link` `` | {icon}`link` |
+| `` {icon}`list` `` | {icon}`list` |
+| `` {icon}`list_add` `` | {icon}`list_add` |
+| `` {icon}`lock` `` | {icon}`lock` |
+| `` {icon}`lockOpen` `` | {icon}`lockOpen` |
+| `` {icon}`log_pattern_analysis` `` | {icon}`log_pattern_analysis` |
+| `` {icon}`log_rate_analysis` `` | {icon}`log_rate_analysis` |
+| `` {icon}`logo_aerospike` `` | {icon}`logo_aerospike` |
+| `` {icon}`logo_apache` `` | {icon}`logo_apache` |
+| `` {icon}`logo_app_search` `` | {icon}`logo_app_search` |
+| `` {icon}`logo_aws` `` | {icon}`logo_aws` |
+| `` {icon}`logo_aws_mono` `` | {icon}`logo_aws_mono` |
+| `` {icon}`logo_azure` `` | {icon}`logo_azure` |
+| `` {icon}`logo_azure_mono` `` | {icon}`logo_azure_mono` |
+| `` {icon}`logo_beats` `` | {icon}`logo_beats` |
+| `` {icon}`logo_business_analytics` `` | {icon}`logo_business_analytics` |
+| `` {icon}`logo_ceph` `` | {icon}`logo_ceph` |
+| `` {icon}`logo_cloud` `` | {icon}`logo_cloud` |
+| `` {icon}`logo_cloud_ece` `` | {icon}`logo_cloud_ece` |
+| `` {icon}`logo_code` `` | {icon}`logo_code` |
+| `` {icon}`logo_codesandbox` `` | {icon}`logo_codesandbox` |
+| `` {icon}`logo_couchbase` `` | {icon}`logo_couchbase` |
+| `` {icon}`logo_docker` `` | {icon}`logo_docker` |
+| `` {icon}`logo_dropwizard` `` | {icon}`logo_dropwizard` |
+| `` {icon}`logo_elastic` `` | {icon}`logo_elastic` |
+| `` {icon}`logo_elastic_stack` `` | {icon}`logo_elastic_stack` |
+| `` {icon}`logo_elasticsearch` `` | {icon}`logo_elasticsearch` |
+| `` {icon}`logo_enterprise_search` `` | {icon}`logo_enterprise_search` |
+| `` {icon}`logo_etcd` `` | {icon}`logo_etcd` |
+| `` {icon}`logo_gcp` `` | {icon}`logo_gcp` |
+| `` {icon}`logo_gcp_mono` `` | {icon}`logo_gcp_mono` |
+| `` {icon}`logo_github` `` | {icon}`logo_github` |
+| `` {icon}`logo_gmail` `` | {icon}`logo_gmail` |
+| `` {icon}`logo_golang` `` | {icon}`logo_golang` |
+| `` {icon}`logo_google_g` `` | {icon}`logo_google_g` |
+| `` {icon}`logo_haproxy` `` | {icon}`logo_haproxy` |
+| `` {icon}`logo_ibm` `` | {icon}`logo_ibm` |
+| `` {icon}`logo_ibm_mono` `` | {icon}`logo_ibm_mono` |
+| `` {icon}`logo_kafka` `` | {icon}`logo_kafka` |
+| `` {icon}`logo_kibana` `` | {icon}`logo_kibana` |
+| `` {icon}`logo_kubernetes` `` | {icon}`logo_kubernetes` |
+| `` {icon}`logo_logging` `` | {icon}`logo_logging` |
+| `` {icon}`logo_logstash` `` | {icon}`logo_logstash` |
+| `` {icon}`logo_maps` `` | {icon}`logo_maps` |
+| `` {icon}`logo_memcached` `` | {icon}`logo_memcached` |
+| `` {icon}`logo_metrics` `` | {icon}`logo_metrics` |
+| `` {icon}`logo_mongodb` `` | {icon}`logo_mongodb` |
+| `` {icon}`logo_mysql` `` | {icon}`logo_mysql` |
+| `` {icon}`logo_nginx` `` | {icon}`logo_nginx` |
+| `` {icon}`logo_observability` `` | {icon}`logo_observability` |
+| `` {icon}`logo_osquery` `` | {icon}`logo_osquery` |
+| `` {icon}`logo_php` `` | {icon}`logo_php` |
+| `` {icon}`logo_postgres` `` | {icon}`logo_postgres` |
+| `` {icon}`logo_prometheus` `` | {icon}`logo_prometheus` |
+| `` {icon}`logo_rabbitmq` `` | {icon}`logo_rabbitmq` |
+| `` {icon}`logo_redis` `` | {icon}`logo_redis` |
+| `` {icon}`logo_security` `` | {icon}`logo_security` |
+| `` {icon}`logo_site_search` `` | {icon}`logo_site_search` |
+| `` {icon}`logo_sketch` `` | {icon}`logo_sketch` |
+| `` {icon}`logo_slack` `` | {icon}`logo_slack` |
+| `` {icon}`logo_uptime` `` | {icon}`logo_uptime` |
+| `` {icon}`logo_vulnerability_management` `` | {icon}`logo_vulnerability_management` |
+| `` {icon}`logo_webhook` `` | {icon}`logo_webhook` |
+| `` {icon}`logo_windows` `` | {icon}`logo_windows` |
+| `` {icon}`logo_workplace_search` `` | {icon}`logo_workplace_search` |
+| `` {icon}`logstash_filter` `` | {icon}`logstash_filter` |
+| `` {icon}`logstash_if` `` | {icon}`logstash_if` |
+| `` {icon}`logstash_input` `` | {icon}`logstash_input` |
+| `` {icon}`logstash_output` `` | {icon}`logstash_output` |
+| `` {icon}`logstash_queue` `` | {icon}`logstash_queue` |
+| `` {icon}`magnet` `` | {icon}`magnet` |
+| `` {icon}`magnifyWithExclamation` `` | {icon}`magnifyWithExclamation` |
+| `` {icon}`magnifyWithMinus` `` | {icon}`magnifyWithMinus` |
+| `` {icon}`magnifyWithPlus` `` | {icon}`magnifyWithPlus` |
+| `` {icon}`map_marker` `` | {icon}`map_marker` |
+| `` {icon}`memory` `` | {icon}`memory` |
+| `` {icon}`menu` `` | {icon}`menu` |
+| `` {icon}`menuDown` `` | {icon}`menuDown` |
+| `` {icon}`menuLeft` `` | {icon}`menuLeft` |
+| `` {icon}`menuRight` `` | {icon}`menuRight` |
+| `` {icon}`menuUp` `` | {icon}`menuUp` |
+| `` {icon}`merge` `` | {icon}`merge` |
+| `` {icon}`minimize` `` | {icon}`minimize` |
+| `` {icon}`minus` `` | {icon}`minus` |
+| `` {icon}`minus_in_circle` `` | {icon}`minus_in_circle` |
+| `` {icon}`minus_in_circle_filled` `` | {icon}`minus_in_circle_filled` |
+| `` {icon}`minus_in_square` `` | {icon}`minus_in_square` |
+| `` {icon}`ml_classification_job` `` | {icon}`ml_classification_job` |
+| `` {icon}`ml_create_advanced_job` `` | {icon}`ml_create_advanced_job` |
+| `` {icon}`ml_create_generic_job` `` | {icon}`ml_create_generic_job` |
+| `` {icon}`ml_create_geo_job` `` | {icon}`ml_create_geo_job` |
+| `` {icon}`ml_create_multi_metric_job` `` | {icon}`ml_create_multi_metric_job` |
+| `` {icon}`ml_create_population_job` `` | {icon}`ml_create_population_job` |
+| `` {icon}`ml_create_single_metric_job` `` | {icon}`ml_create_single_metric_job` |
+| `` {icon}`ml_data_visualizer` `` | {icon}`ml_data_visualizer` |
+| `` {icon}`ml_outlier_detection_job` `` | {icon}`ml_outlier_detection_job` |
+| `` {icon}`ml_regression_job` `` | {icon}`ml_regression_job` |
+| `` {icon}`mobile` `` | {icon}`mobile` |
+| `` {icon}`moon` `` | {icon}`moon` |
+| `` {icon}`move` `` | {icon}`move` |
+| `` {icon}`namespace` `` | {icon}`namespace` |
+| `` {icon}`nested` `` | {icon}`nested` |
+| `` {icon}`new_chat` `` | {icon}`new_chat` |
+| `` {icon}`node` `` | {icon}`node` |
+| `` {icon}`number` `` | {icon}`number` |
+| `` {icon}`offline` `` | {icon}`offline` |
+| `` {icon}`online` `` | {icon}`online` |
+| `` {icon}`package` `` | {icon}`package` |
+| `` {icon}`pageSelect` `` | {icon}`pageSelect` |
+| `` {icon}`pagesSelect` `` | {icon}`pagesSelect` |
+| `` {icon}`paint` `` | {icon}`paint` |
+| `` {icon}`palette` `` | {icon}`palette` |
+| `` {icon}`paper_clip` `` | {icon}`paper_clip` |
+| `` {icon}`partial` `` | {icon}`partial` |
+| `` {icon}`pause` `` | {icon}`pause` |
+| `` {icon}`payment` `` | {icon}`payment` |
+| `` {icon}`pencil` `` | {icon}`pencil` |
+| `` {icon}`percent` `` | {icon}`percent` |
+| `` {icon}`pin` `` | {icon}`pin` |
+| `` {icon}`pin_filled` `` | {icon}`pin_filled` |
+| `` {icon}`pipeBreaks` `` | {icon}`pipeBreaks` |
+| `` {icon}`pipeNoBreaks` `` | {icon}`pipeNoBreaks` |
+| `` {icon}`pivot` `` | {icon}`pivot` |
+| `` {icon}`play` `` | {icon}`play` |
+| `` {icon}`playFilled` `` | {icon}`playFilled` |
+| `` {icon}`plugs` `` | {icon}`plugs` |
+| `` {icon}`plus` `` | {icon}`plus` |
+| `` {icon}`plus_in_circle` `` | {icon}`plus_in_circle` |
+| `` {icon}`plus_in_circle_filled` `` | {icon}`plus_in_circle_filled` |
+| `` {icon}`plus_in_square` `` | {icon}`plus_in_square` |
+| `` {icon}`popout` `` | {icon}`popout` |
+| `` {icon}`push` `` | {icon}`push` |
+| `` {icon}`question` `` | {icon}`question` |
+| `` {icon}`quote` `` | {icon}`quote` |
+| `` {icon}`readOnly` `` | {icon}`readOnly` |
+| `` {icon}`refresh` `` | {icon}`refresh` |
+| `` {icon}`reporter` `` | {icon}`reporter` |
+| `` {icon}`return_key` `` | {icon}`return_key` |
+| `` {icon}`save` `` | {icon}`save` |
+| `` {icon}`scale` `` | {icon}`scale` |
+| `` {icon}`search` `` | {icon}`search` |
+| `` {icon}`section` `` | {icon}`section` |
+| `` {icon}`securitySignal` `` | {icon}`securitySignal` |
+| `` {icon}`securitySignalDetected` `` | {icon}`securitySignalDetected` |
+| `` {icon}`securitySignalResolved` `` | {icon}`securitySignalResolved` |
+| `` {icon}`sessionViewer` `` | {icon}`sessionViewer` |
+| `` {icon}`shard` `` | {icon}`shard` |
+| `` {icon}`share` `` | {icon}`share` |
+| `` {icon}`single_metric_viewer` `` | {icon}`single_metric_viewer` |
+| `` {icon}`snowflake` `` | {icon}`snowflake` |
+| `` {icon}`sortAscending` `` | {icon}`sortAscending` |
+| `` {icon}`sortDescending` `` | {icon}`sortDescending` |
+| `` {icon}`sortLeft` `` | {icon}`sortLeft` |
+| `` {icon}`sortRight` `` | {icon}`sortRight` |
+| `` {icon}`sort_down` `` | {icon}`sort_down` |
+| `` {icon}`sort_up` `` | {icon}`sort_up` |
+| `` {icon}`sortable` `` | {icon}`sortable` |
+| `` {icon}`spaces` `` | {icon}`spaces` |
+| `` {icon}`sparkles` `` | {icon}`sparkles` |
+| `` {icon}`starPlusEmpty` `` | {icon}`starPlusEmpty` |
+| `` {icon}`starPlusFilled` `` | {icon}`starPlusFilled` |
+| `` {icon}`star_empty` `` | {icon}`star_empty` |
+| `` {icon}`star_empty_space` `` | {icon}`star_empty_space` |
+| `` {icon}`star_filled` `` | {icon}`star_filled` |
+| `` {icon}`star_filled_space` `` | {icon}`star_filled_space` |
+| `` {icon}`star_minus_empty` `` | {icon}`star_minus_empty` |
+| `` {icon}`star_minus_filled` `` | {icon}`star_minus_filled` |
+| `` {icon}`stats` `` | {icon}`stats` |
+| `` {icon}`stop` `` | {icon}`stop` |
+| `` {icon}`stop_filled` `` | {icon}`stop_filled` |
+| `` {icon}`stop_slash` `` | {icon}`stop_slash` |
+| `` {icon}`storage` `` | {icon}`storage` |
+| `` {icon}`string` `` | {icon}`string` |
+| `` {icon}`submodule` `` | {icon}`submodule` |
+| `` {icon}`sun` `` | {icon}`sun` |
+| `` {icon}`swatch_input` `` | {icon}`swatch_input` |
+| `` {icon}`symlink` `` | {icon}`symlink` |
+| `` {icon}`tableOfContents` `` | {icon}`tableOfContents` |
+| `` {icon}`table_density_compact` `` | {icon}`table_density_compact` |
+| `` {icon}`table_density_expanded` `` | {icon}`table_density_expanded` |
+| `` {icon}`table_density_normal` `` | {icon}`table_density_normal` |
+| `` {icon}`tag` `` | {icon}`tag` |
+| `` {icon}`tear` `` | {icon}`tear` |
+| `` {icon}`temperature` `` | {icon}`temperature` |
+| `` {icon}`timeRefresh` `` | {icon}`timeRefresh` |
+| `` {icon}`timeline` `` | {icon}`timeline` |
+| `` {icon}`timelineWithArrow` `` | {icon}`timelineWithArrow` |
+| `` {icon}`timeslider` `` | {icon}`timeslider` |
+| `` {icon}`training` `` | {icon}`training` |
+| `` {icon}`transitionLeftIn` `` | {icon}`transitionLeftIn` |
+| `` {icon}`transitionLeftOut` `` | {icon}`transitionLeftOut` |
+| `` {icon}`transitionTopIn` `` | {icon}`transitionTopIn` |
+| `` {icon}`transitionTopOut` `` | {icon}`transitionTopOut` |
+| `` {icon}`trash` `` | {icon}`trash` |
+| `` {icon}`unfold` `` | {icon}`unfold` |
+| `` {icon}`unlink` `` | {icon}`unlink` |
+| `` {icon}`user` `` | {icon}`user` |
+| `` {icon}`users` `` | {icon}`users` |
+| `` {icon}`vector` `` | {icon}`vector` |
+| `` {icon}`videoPlayer` `` | {icon}`videoPlayer` |
+| `` {icon}`vis_area` `` | {icon}`vis_area` |
+| `` {icon}`vis_area_stacked` `` | {icon}`vis_area_stacked` |
+| `` {icon}`vis_bar_horizontal` `` | {icon}`vis_bar_horizontal` |
+| `` {icon}`vis_bar_horizontal_stacked` `` | {icon}`vis_bar_horizontal_stacked` |
+| `` {icon}`vis_bar_vertical` `` | {icon}`vis_bar_vertical` |
+| `` {icon}`vis_bar_vertical_stacked` `` | {icon}`vis_bar_vertical_stacked` |
+| `` {icon}`vis_gauge` `` | {icon}`vis_gauge` |
+| `` {icon}`vis_goal` `` | {icon}`vis_goal` |
+| `` {icon}`vis_line` `` | {icon}`vis_line` |
+| `` {icon}`vis_map_coordinate` `` | {icon}`vis_map_coordinate` |
+| `` {icon}`vis_map_region` `` | {icon}`vis_map_region` |
+| `` {icon}`vis_metric` `` | {icon}`vis_metric` |
+| `` {icon}`vis_pie` `` | {icon}`vis_pie` |
+| `` {icon}`vis_table` `` | {icon}`vis_table` |
+| `` {icon}`vis_tag_cloud` `` | {icon}`vis_tag_cloud` |
+| `` {icon}`vis_text` `` | {icon}`vis_text` |
+| `` {icon}`vis_timelion` `` | {icon}`vis_timelion` |
+| `` {icon}`vis_visual_builder` `` | {icon}`vis_visual_builder` |
+| `` {icon}`warning` `` | {icon}`warning` |
+| `` {icon}`warningFilled` `` | {icon}`warningFilled` |
+| `` {icon}`web` `` | {icon}`web` |
+| `` {icon}`wordWrap` `` | {icon}`wordWrap` |
+| `` {icon}`wordWrapDisabled` `` | {icon}`wordWrapDisabled` |
+| `` {icon}`wrench` `` | {icon}`wrench` |
+
+## Usage examples
+
+You can use icons in various Markdown elements.
+
+### Headings
+
+You can include icons in headings:
+
+::::{tab-set}
+
+:::{tab-item} Output
+
+#### Test the {icon}`gear` Settings
+#### User Profile {icon}`user`
+
+:::
+
+:::{tab-item} Markdown
+```markdown
+#### Test the {icon}`gear` Settings
+#### User Profile {icon}`user`
+```
+:::
+
+::::
+
+### Lists
+
+Icons can be used in both ordered and unordered lists.
+
+
+::::{tab-set}
+
+:::{tab-item} Output
+
+**Unordered List:**
+* {icon}`check` Task one completed
+* {icon}`check` Task two completed
+* {icon}`cross` Task three pending
+
+**Ordered List:**
+1. {icon}`check` First item
+2. {icon}`check` Second item
+3. {icon}`cross` Third item
+
+:::
+
+:::{tab-item} Markdown
+```markdown
+**Unordered List:**
+* {icon}`check` Task one completed
+* {icon}`check` Task two completed
+* {icon}`cross` Task three pending
+
+**Ordered List:**
+1. {icon}`check` First item
+2. {icon}`check` Second item
+3. {icon}`cross` Third item
+```
+:::
+
+::::
+
+### Tables
+
+Icons can be used within table cells.
+
+::::{tab-set}
+
+:::{tab-item} Output
+
+| Status | Description |
+|:--------------:|:------------|
+| {icon}`checkCircle` | Success |
+| {icon}`warning` | Warning |
+| {icon}`error` | Error |
+
+:::
+
+:::{tab-item} Markdown
+```markdown
+| Status | Description |
+|:--------------:|:------------|
+| {icon}`checkCircle` | Success |
+| {icon}`warning` | Warning |
+| {icon}`error` | Error |
+```
+:::
+
+::::
+
+### Paragraphs
+
+::::{tab-set}
+
+:::{tab-item} Output
+
+{icon}`sparkles` Icons can be placed at the beginning of a paragraph.
+
+You can also use icons directly in your text for emphasis, like this {icon}`sparkles` magic {icon}`sparkles` moment.
+
+
+:::
+
+:::{tab-item} Markdown
+
+```markdown
+{icon}`sparkles` Icons can be placed at the beginning of a paragraph.
+
+You can also use icons directly in your text for emphasis, like this {icon}`sparkles` magic {icon}`sparkles` moment.
+
+```
+:::
+
+::::
diff --git a/src/Elastic.Documentation.Site/Assets/markdown/icons.css b/src/Elastic.Documentation.Site/Assets/markdown/icons.css
new file mode 100644
index 000000000..f64aaae8d
--- /dev/null
+++ b/src/Elastic.Documentation.Site/Assets/markdown/icons.css
@@ -0,0 +1,13 @@
+@layer components {
+ .markdown-content {
+ .icon {
+ @apply inline-block align-middle;
+ transform: translateY(-0.05em);
+ svg {
+ width: 1em;
+ height: 1em;
+ fill: currentColor;
+ }
+ }
+ }
+}
diff --git a/src/Elastic.Documentation.Site/Assets/styles.css b/src/Elastic.Documentation.Site/Assets/styles.css
index 1702e69fa..1d3dc3f7d 100644
--- a/src/Elastic.Documentation.Site/Assets/styles.css
+++ b/src/Elastic.Documentation.Site/Assets/styles.css
@@ -7,6 +7,7 @@
@import './markdown/list.css';
@import './markdown/tabs.css';
@import './markdown/code.css';
+@import './markdown/icons.css';
@import './copybutton.css';
@import './markdown/admonition.css';
@import './markdown/dropdown.css';
diff --git a/src/Elastic.Markdown/Elastic.Markdown.csproj b/src/Elastic.Markdown/Elastic.Markdown.csproj
index fff8740b7..1b87b6c06 100644
--- a/src/Elastic.Markdown/Elastic.Markdown.csproj
+++ b/src/Elastic.Markdown/Elastic.Markdown.csproj
@@ -36,4 +36,8 @@
+
+
+
+
diff --git a/src/Elastic.Markdown/Myst/Directives/DirectiveParagraphParser.cs b/src/Elastic.Markdown/Myst/Directives/DirectiveParagraphParser.cs
index 62b9d387a..786ce87db 100644
--- a/src/Elastic.Markdown/Myst/Directives/DirectiveParagraphParser.cs
+++ b/src/Elastic.Markdown/Myst/Directives/DirectiveParagraphParser.cs
@@ -1,6 +1,7 @@
// Licensed to Elasticsearch B.V under one or more agreements.
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
// See the LICENSE file in the project root for more information
+
using Markdig.Parsers;
using Markdig.Syntax;
diff --git a/src/Elastic.Markdown/Myst/InlineParsers/HeadingBlockWithSlugParser.cs b/src/Elastic.Markdown/Myst/InlineParsers/HeadingBlockWithSlugParser.cs
index 1641b33df..236d4b8ab 100644
--- a/src/Elastic.Markdown/Myst/InlineParsers/HeadingBlockWithSlugParser.cs
+++ b/src/Elastic.Markdown/Myst/InlineParsers/HeadingBlockWithSlugParser.cs
@@ -3,6 +3,7 @@
// See the LICENSE file in the project root for more information
using System.Text.RegularExpressions;
+using Elastic.Markdown.Myst.Roles.Icons;
using Markdig;
using Markdig.Helpers;
using Markdig.Parsers;
@@ -30,13 +31,17 @@ public void Setup(MarkdownPipeline pipeline, IMarkdownRenderer renderer) { }
public class HeadingBlockWithSlugParser : HeadingBlockParser
{
+ private static readonly Regex IconSyntax = IconParser.IconRegex();
+
public override bool Close(BlockProcessor processor, Block block)
{
- if (block is not HeadingBlock headerBlock)
+ if (block is not HeadingBlock headingBlock)
return base.Close(processor, block);
- var text = headerBlock.Lines.Lines[0].Slice.AsSpan();
- headerBlock.SetData("header", text.ToString());
+ var text = headingBlock.Lines.Lines[0].Slice.AsSpan();
+ // Remove icon syntax from the heading text
+ var cleanText = IconSyntax.Replace(text.ToString(), "").Trim();
+ headingBlock.SetData("header", cleanText);
if (!HeadingAnchorParser.MatchAnchorLine().IsMatch(text))
return base.Close(processor, block);
@@ -49,13 +54,13 @@ public override bool Close(BlockProcessor processor, Block block)
var anchor = text.Slice(match.Index, match.Length);
var newSlice = new StringSlice(header.ToString());
- headerBlock.Lines.Lines[0] = new StringLine(ref newSlice);
+ headingBlock.Lines.Lines[0] = new StringLine(ref newSlice);
if (header.IndexOf('$') >= 0)
anchor = HeadingAnchorParser.MatchAnchor().Replace(anchor.ToString(), "");
-
- headerBlock.SetData("anchor", anchor.ToString());
- headerBlock.SetData("header", header.ToString());
+ headingBlock.SetData("anchor", anchor.ToString());
+ // Remove icon syntax from the header text when setting it as data
+ headingBlock.SetData("header", IconSyntax.Replace(header.ToString(), "").Trim());
return base.Close(processor, block);
}
diff --git a/src/Elastic.Markdown/Myst/MarkdownParser.cs b/src/Elastic.Markdown/Myst/MarkdownParser.cs
index 6e4379c4a..2b7025595 100644
--- a/src/Elastic.Markdown/Myst/MarkdownParser.cs
+++ b/src/Elastic.Markdown/Myst/MarkdownParser.cs
@@ -14,7 +14,7 @@
using Elastic.Markdown.Myst.Linters;
using Elastic.Markdown.Myst.Renderers;
using Elastic.Markdown.Myst.Roles.AppliesTo;
-
+using Elastic.Markdown.Myst.Roles.Icons;
using Markdig;
using Markdig.Extensions.EmphasisExtras;
using Markdig.Parsers;
@@ -146,6 +146,7 @@ public static MarkdownPipeline Pipeline
.UseHeadingsWithSlugs()
.UseEmphasisExtras(EmphasisExtraOptions.Default)
.UseInlineAppliesTo()
+ .UseInlineIcons()
.UseSubstitution()
.UseComments()
.UseYamlFrontMatter()
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/IconRole.cs b/src/Elastic.Markdown/Myst/Roles/Icons/IconRole.cs
new file mode 100644
index 000000000..ec3383ea0
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/IconRole.cs
@@ -0,0 +1,60 @@
+// Licensed to Elasticsearch B.V under one or more agreements.
+// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information
+
+using System.Diagnostics;
+using System.Text.RegularExpressions;
+using Elastic.Markdown.Diagnostics;
+using Markdig.Parsers;
+
+namespace Elastic.Markdown.Myst.Roles.Icons;
+
+[DebuggerDisplay("{GetType().Name} Line: {Line}, Role: {Role}, Content: {Content}")]
+public class IconsRole : RoleLeaf
+{
+ private static readonly IReadOnlyDictionary IconMap;
+ static IconsRole()
+ {
+ var assembly = typeof(IconsRole).Assembly;
+ var iconFolder = $"{assembly.GetName().Name}.Myst.Roles.Icons.svgs.";
+ IconMap = assembly.GetManifestResourceNames()
+ .Where(r => r.StartsWith(iconFolder) && r.EndsWith(".svg"))
+ .ToDictionary(
+ r => r[iconFolder.Length..].Replace(".svg", string.Empty),
+ r =>
+ {
+ using var stream = assembly.GetManifestResourceStream(r);
+ if (stream is null)
+ return string.Empty;
+ using var reader = new StreamReader(stream);
+ return reader.ReadToEnd();
+ }
+ );
+ }
+
+ public IconsRole(string role, string content, InlineProcessor processor) : base(role, content)
+ {
+
+ if (IconMap.TryGetValue(content, out var svg))
+ {
+ Svg = svg;
+ Name = content;
+ }
+ else
+ processor.EmitError(this, Role.Length + content.Length, $"Unknown icon: {content}");
+ }
+
+ public string? Name { get; }
+ public string? Svg { get; }
+}
+
+public partial class IconParser : RoleParser
+{
+ [GeneratedRegex(@"\{icon\}`([^`]+)`", RegexOptions.Compiled)]
+ public static partial Regex IconRegex();
+
+ protected override IconsRole CreateRole(string role, string content, InlineProcessor parserContext) =>
+ new(role, content, parserContext);
+
+ protected override bool Matches(ReadOnlySpan role) => role is "{icon}";
+}
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/IconRoleRenderer.cs b/src/Elastic.Markdown/Myst/Roles/Icons/IconRoleRenderer.cs
new file mode 100644
index 000000000..8831baaad
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/IconRoleRenderer.cs
@@ -0,0 +1,40 @@
+// Licensed to Elasticsearch B.V under one or more agreements.
+// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information
+
+using System.Diagnostics.CodeAnalysis;
+using Markdig;
+using Markdig.Parsers.Inlines;
+using Markdig.Renderers;
+using Markdig.Renderers.Html;
+using Markdig.Renderers.Html.Inlines;
+
+namespace Elastic.Markdown.Myst.Roles.Icons;
+
+public class IconRoleHtmlRenderer : HtmlObjectRenderer
+{
+
+ protected override void Write(HtmlRenderer renderer, IconsRole role)
+ {
+ _ = renderer.Write($"");
+ _ = renderer.Write(role.Svg);
+ _ = renderer.Write("");
+ }
+}
+
+public static class InlineAppliesToExtensions
+{
+ public static MarkdownPipelineBuilder UseInlineIcons(this MarkdownPipelineBuilder pipeline)
+ {
+ pipeline.Extensions.AddIfNotAlready();
+ return pipeline;
+ }
+}
+
+public class InlineIconExtension : IMarkdownExtension
+{
+ public void Setup(MarkdownPipelineBuilder pipeline) => _ = pipeline.InlineParsers.InsertBefore(new IconParser());
+
+ public void Setup(MarkdownPipeline pipeline, IMarkdownRenderer renderer) =>
+ renderer.ObjectRenderers.InsertBefore(new IconRoleHtmlRenderer());
+}
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/accessibility.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/accessibility.svg
new file mode 100644
index 000000000..8aeb86fac
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/accessibility.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/aggregate.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/aggregate.svg
new file mode 100644
index 000000000..6cbc62415
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/aggregate.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/analyzeEvent.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/analyzeEvent.svg
new file mode 100644
index 000000000..6c827d51e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/analyzeEvent.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/annotation.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/annotation.svg
new file mode 100644
index 000000000..93d8fdac2
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/annotation.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/anomaly_chart.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/anomaly_chart.svg
new file mode 100644
index 000000000..316cc2351
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/anomaly_chart.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/anomaly_swim_lane.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/anomaly_swim_lane.svg
new file mode 100644
index 000000000..a1f80056f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/anomaly_swim_lane.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/apm_trace.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/apm_trace.svg
new file mode 100644
index 000000000..ddc5da2ef
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/apm_trace.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_add_data.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_add_data.svg
new file mode 100644
index 000000000..ac57fcaea
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_add_data.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_advanced_settings.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_advanced_settings.svg
new file mode 100644
index 000000000..750e86809
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_advanced_settings.svg
@@ -0,0 +1,10 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_agent.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_agent.svg
new file mode 100644
index 000000000..6dd55a775
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_agent.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_apm.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_apm.svg
new file mode 100644
index 000000000..e78f0df81
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_apm.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_app_search.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_app_search.svg
new file mode 100644
index 000000000..2f8c328cd
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_app_search.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_auditbeat.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_auditbeat.svg
new file mode 100644
index 000000000..812231050
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_auditbeat.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_canvas.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_canvas.svg
new file mode 100644
index 000000000..6d409b737
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_canvas.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_cases.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_cases.svg
new file mode 100644
index 000000000..1aa2905a0
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_cases.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_code.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_code.svg
new file mode 100644
index 000000000..1970a6182
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_code.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_console.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_console.svg
new file mode 100644
index 000000000..16f3126e7
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_console.svg
@@ -0,0 +1,8 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_cross_cluster_replication.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_cross_cluster_replication.svg
new file mode 100644
index 000000000..7d5221b72
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_cross_cluster_replication.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_dashboard.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_dashboard.svg
new file mode 100644
index 000000000..48fd3899f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_dashboard.svg
@@ -0,0 +1,8 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_devtools.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_devtools.svg
new file mode 100644
index 000000000..1bc63f947
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_devtools.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_discover.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_discover.svg
new file mode 100644
index 000000000..b244ff235
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_discover.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_ems.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_ems.svg
new file mode 100644
index 000000000..83d99ff3e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_ems.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_filebeat.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_filebeat.svg
new file mode 100644
index 000000000..cec54bf24
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_filebeat.svg
@@ -0,0 +1,8 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_fleet.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_fleet.svg
new file mode 100644
index 000000000..7343d89af
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_fleet.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_gis.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_gis.svg
new file mode 100644
index 000000000..d706d53d8
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_gis.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_graph.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_graph.svg
new file mode 100644
index 000000000..d16c2f071
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_graph.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_grok.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_grok.svg
new file mode 100644
index 000000000..ea5d6b578
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_grok.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_heartbeat.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_heartbeat.svg
new file mode 100644
index 000000000..a73a001b6
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_heartbeat.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_index_management.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_index_management.svg
new file mode 100644
index 000000000..0061002de
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_index_management.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_index_pattern.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_index_pattern.svg
new file mode 100644
index 000000000..9777244b0
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_index_pattern.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_index_rollup.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_index_rollup.svg
new file mode 100644
index 000000000..98bffb835
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_index_rollup.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_lens.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_lens.svg
new file mode 100644
index 000000000..fe33252f3
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_lens.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_logs.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_logs.svg
new file mode 100644
index 000000000..1cd99c6c1
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_logs.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_management.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_management.svg
new file mode 100644
index 000000000..9fc229e6a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_management.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_metricbeat.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_metricbeat.svg
new file mode 100644
index 000000000..12a84571b
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_metricbeat.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_metrics.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_metrics.svg
new file mode 100644
index 000000000..5a2b3933b
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_metrics.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_ml.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_ml.svg
new file mode 100644
index 000000000..b036502ae
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_ml.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_monitoring.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_monitoring.svg
new file mode 100644
index 000000000..9d9efb647
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_monitoring.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_notebook.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_notebook.svg
new file mode 100644
index 000000000..04989c3bd
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_notebook.svg
@@ -0,0 +1,8 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_packetbeat.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_packetbeat.svg
new file mode 100644
index 000000000..e4fa42d3f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_packetbeat.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_pipeline.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_pipeline.svg
new file mode 100644
index 000000000..041a5e351
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_pipeline.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_recently_viewed.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_recently_viewed.svg
new file mode 100644
index 000000000..efa0bdbd8
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_recently_viewed.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_reporting.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_reporting.svg
new file mode 100644
index 000000000..eb8cb8c19
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_reporting.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_saved_objects.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_saved_objects.svg
new file mode 100644
index 000000000..9761e6703
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_saved_objects.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_search_profiler.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_search_profiler.svg
new file mode 100644
index 000000000..947aa1263
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_search_profiler.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_security.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_security.svg
new file mode 100644
index 000000000..764652288
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_security.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_security_analytics.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_security_analytics.svg
new file mode 100644
index 000000000..3824f67ce
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_security_analytics.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_spaces.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_spaces.svg
new file mode 100644
index 000000000..20b694004
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_spaces.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_sql.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_sql.svg
new file mode 100644
index 000000000..7560501b3
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_sql.svg
@@ -0,0 +1,13 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_timelion.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_timelion.svg
new file mode 100644
index 000000000..4fba781db
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_timelion.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_upgrade_assistant.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_upgrade_assistant.svg
new file mode 100644
index 000000000..636d02901
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_upgrade_assistant.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_uptime.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_uptime.svg
new file mode 100644
index 000000000..9eae6dfbe
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_uptime.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_users_roles.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_users_roles.svg
new file mode 100644
index 000000000..9b38bc61a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_users_roles.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_visualize.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_visualize.svg
new file mode 100644
index 000000000..9ba5cd597
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_visualize.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_vulnerability_management.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_vulnerability_management.svg
new file mode 100644
index 000000000..15c58b331
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_vulnerability_management.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_watches.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_watches.svg
new file mode 100644
index 000000000..d0eab8458
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_watches.svg
@@ -0,0 +1,8 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_workplace_search.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_workplace_search.svg
new file mode 100644
index 000000000..06580043a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/app_workplace_search.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/apps.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/apps.svg
new file mode 100644
index 000000000..cc09b28da
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/apps.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/arrowEnd.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/arrowEnd.svg
new file mode 100644
index 000000000..a9cdf8b2a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/arrowEnd.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/arrowStart.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/arrowStart.svg
new file mode 100644
index 000000000..38f86ec67
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/arrowStart.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/arrow_down.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/arrow_down.svg
new file mode 100644
index 000000000..799d454cd
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/arrow_down.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/arrow_left.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/arrow_left.svg
new file mode 100644
index 000000000..5a798bf33
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/arrow_left.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/arrow_right.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/arrow_right.svg
new file mode 100644
index 000000000..6e0df5640
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/arrow_right.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/arrow_up.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/arrow_up.svg
new file mode 100644
index 000000000..ce6afddca
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/arrow_up.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/article.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/article.svg
new file mode 100644
index 000000000..17ae53741
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/article.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/asterisk.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/asterisk.svg
new file mode 100644
index 000000000..9f3360e9a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/asterisk.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/at.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/at.svg
new file mode 100644
index 000000000..7720a2291
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/at.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/bell.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/bell.svg
new file mode 100644
index 000000000..66b1c6972
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/bell.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/bellSlash.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/bellSlash.svg
new file mode 100644
index 000000000..bf00b1f49
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/bellSlash.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/beta.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/beta.svg
new file mode 100644
index 000000000..f91670310
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/beta.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/bolt.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/bolt.svg
new file mode 100644
index 000000000..6ebf68100
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/bolt.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/boxes_horizontal.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/boxes_horizontal.svg
new file mode 100644
index 000000000..a7fb0073f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/boxes_horizontal.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/boxes_vertical.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/boxes_vertical.svg
new file mode 100644
index 000000000..91aa2b186
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/boxes_vertical.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/branch.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/branch.svg
new file mode 100644
index 000000000..c78232177
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/branch.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/branchUser.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/branchUser.svg
new file mode 100644
index 000000000..3105a99e8
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/branchUser.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/broom.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/broom.svg
new file mode 100644
index 000000000..d8c243eaa
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/broom.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/brush.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/brush.svg
new file mode 100644
index 000000000..fb61cabad
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/brush.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/bug.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/bug.svg
new file mode 100644
index 000000000..19ee985ad
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/bug.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/bullseye.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/bullseye.svg
new file mode 100644
index 000000000..461b09470
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/bullseye.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/calendar.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/calendar.svg
new file mode 100644
index 000000000..7d4c1a522
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/calendar.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/change_point_detection.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/change_point_detection.svg
new file mode 100644
index 000000000..bbcf139cc
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/change_point_detection.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/check.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/check.svg
new file mode 100644
index 000000000..07b0606b5
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/check.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/checkCircle.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/checkCircle.svg
new file mode 100644
index 000000000..5184ef5f3
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/checkCircle.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/checkInCircleFilled.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/checkInCircleFilled.svg
new file mode 100644
index 000000000..410cd1cd6
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/checkInCircleFilled.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cheer.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cheer.svg
new file mode 100644
index 000000000..072a80cdd
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cheer.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/clickLeft.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/clickLeft.svg
new file mode 100644
index 000000000..6c7f3de7a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/clickLeft.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/clickRight.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/clickRight.svg
new file mode 100644
index 000000000..fad5c49b1
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/clickRight.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/clock.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/clock.svg
new file mode 100644
index 000000000..5dcf75e04
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/clock.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/clockCounter.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/clockCounter.svg
new file mode 100644
index 000000000..42245f535
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/clockCounter.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cloudDrizzle.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cloudDrizzle.svg
new file mode 100644
index 000000000..551d1b683
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cloudDrizzle.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cloudStormy.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cloudStormy.svg
new file mode 100644
index 000000000..250480b65
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cloudStormy.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cloudSunny.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cloudSunny.svg
new file mode 100644
index 000000000..0935e1e1a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cloudSunny.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cluster.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cluster.svg
new file mode 100644
index 000000000..ed8df4e38
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cluster.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/code.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/code.svg
new file mode 100644
index 000000000..9ea79720c
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/code.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/color.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/color.svg
new file mode 100755
index 000000000..3311b35f1
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/color.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/comment.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/comment.svg
new file mode 100644
index 000000000..41c6ebc00
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/comment.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/compute.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/compute.svg
new file mode 100644
index 000000000..5247f8912
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/compute.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/console.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/console.svg
new file mode 100644
index 000000000..9dc03fa9d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/console.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/container.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/container.svg
new file mode 100644
index 000000000..4af2c1622
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/container.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/continuityAbove.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/continuityAbove.svg
new file mode 100755
index 000000000..5083db547
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/continuityAbove.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/continuityAboveBelow.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/continuityAboveBelow.svg
new file mode 100755
index 000000000..d87024087
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/continuityAboveBelow.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/continuityBelow.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/continuityBelow.svg
new file mode 100755
index 000000000..f925a01cf
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/continuityBelow.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/continuityWithin.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/continuityWithin.svg
new file mode 100755
index 000000000..f6560102a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/continuityWithin.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/contrast.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/contrast.svg
new file mode 100644
index 000000000..852cb5f09
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/contrast.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/contrastHigh.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/contrastHigh.svg
new file mode 100644
index 000000000..60dc4132e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/contrastHigh.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/controls.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/controls.svg
new file mode 100644
index 000000000..b5ed407a6
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/controls.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/copy.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/copy.svg
new file mode 100644
index 000000000..f23796ad1
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/copy.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/copy_clipboard.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/copy_clipboard.svg
new file mode 100644
index 000000000..0c6097b0e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/copy_clipboard.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cross.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cross.svg
new file mode 100644
index 000000000..826953bcf
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cross.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cross_in_circle.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cross_in_circle.svg
new file mode 100644
index 000000000..9a80a0087
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cross_in_circle.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/crosshairs.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/crosshairs.svg
new file mode 100644
index 000000000..236b8a346
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/crosshairs.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/currency.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/currency.svg
new file mode 100644
index 000000000..9682ce0ca
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/currency.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cut.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cut.svg
new file mode 100644
index 000000000..ca7af4fc5
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/cut.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/database.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/database.svg
new file mode 100644
index 000000000..7b5f9109e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/database.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/desktop.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/desktop.svg
new file mode 100644
index 000000000..88bc53c1d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/desktop.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/diff.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/diff.svg
new file mode 100644
index 000000000..d20d0ab01
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/diff.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/document.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/document.svg
new file mode 100644
index 000000000..395d6f8a3
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/document.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/documentEdit.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/documentEdit.svg
new file mode 100644
index 000000000..5dd7ded0f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/documentEdit.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/documentation.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/documentation.svg
new file mode 100755
index 000000000..dce24d93a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/documentation.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/documents.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/documents.svg
new file mode 100644
index 000000000..09a08cfba
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/documents.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/dot.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/dot.svg
new file mode 100644
index 000000000..d7b2aaeb0
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/dot.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/dotInCircle.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/dotInCircle.svg
new file mode 100644
index 000000000..226619532
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/dotInCircle.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/doubleArrowLeft.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/doubleArrowLeft.svg
new file mode 100644
index 000000000..0da7a750d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/doubleArrowLeft.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/doubleArrowRight.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/doubleArrowRight.svg
new file mode 100644
index 000000000..550a58a97
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/doubleArrowRight.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/download.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/download.svg
new file mode 100644
index 000000000..ebcae09c6
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/download.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorDistributeHorizontal.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorDistributeHorizontal.svg
new file mode 100644
index 000000000..5612226ae
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorDistributeHorizontal.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorDistributeVertical.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorDistributeVertical.svg
new file mode 100644
index 000000000..9579b1130
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorDistributeVertical.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorItemAlignBottom.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorItemAlignBottom.svg
new file mode 100644
index 000000000..1967e2a4b
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorItemAlignBottom.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorItemAlignCenter.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorItemAlignCenter.svg
new file mode 100644
index 000000000..7d810adb7
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorItemAlignCenter.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorItemAlignLeft.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorItemAlignLeft.svg
new file mode 100644
index 000000000..192763a50
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorItemAlignLeft.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorItemAlignMiddle.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorItemAlignMiddle.svg
new file mode 100644
index 000000000..35f459a88
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorItemAlignMiddle.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorItemAlignRight.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorItemAlignRight.svg
new file mode 100644
index 000000000..f000368d3
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorItemAlignRight.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorItemAlignTop.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorItemAlignTop.svg
new file mode 100644
index 000000000..7cc1d57a1
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorItemAlignTop.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorPositionBottomLeft.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorPositionBottomLeft.svg
new file mode 100644
index 000000000..d9bc9be34
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorPositionBottomLeft.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorPositionBottomRight.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorPositionBottomRight.svg
new file mode 100644
index 000000000..162e80be7
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorPositionBottomRight.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorPositionTopLeft.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorPositionTopLeft.svg
new file mode 100644
index 000000000..74306ead1
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorPositionTopLeft.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorPositionTopRight.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorPositionTopRight.svg
new file mode 100644
index 000000000..fd5b0fffa
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editorPositionTopRight.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_align_center.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_align_center.svg
new file mode 100644
index 000000000..18dd2d651
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_align_center.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_align_left.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_align_left.svg
new file mode 100644
index 000000000..5ad53e7bc
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_align_left.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_align_right.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_align_right.svg
new file mode 100644
index 000000000..b4b4383f4
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_align_right.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_bold.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_bold.svg
new file mode 100644
index 000000000..d07462cef
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_bold.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_checklist.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_checklist.svg
new file mode 100644
index 000000000..2ef4cbc1b
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_checklist.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_heading.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_heading.svg
new file mode 100644
index 000000000..4361aa05d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_heading.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_italic.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_italic.svg
new file mode 100644
index 000000000..1294e009d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_italic.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_link.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_link.svg
new file mode 100644
index 000000000..ed0b6d71d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_link.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_ordered_list.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_ordered_list.svg
new file mode 100644
index 000000000..31e2d9ef8
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_ordered_list.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_redo.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_redo.svg
new file mode 100644
index 000000000..d0fbcf0c3
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_redo.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_strike.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_strike.svg
new file mode 100644
index 000000000..9d1da5ebc
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_strike.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_table.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_table.svg
new file mode 100644
index 000000000..8bb7741d0
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_table.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_underline.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_underline.svg
new file mode 100644
index 000000000..fc1a589f4
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_underline.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_undo.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_undo.svg
new file mode 100644
index 000000000..0e679119f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_undo.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_unordered_list.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_unordered_list.svg
new file mode 100644
index 000000000..a872e078f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/editor_unordered_list.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/email.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/email.svg
new file mode 100644
index 000000000..72c5972c6
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/email.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/empty.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/empty.svg
new file mode 100644
index 000000000..2b51749f1
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/empty.svg
@@ -0,0 +1,2 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/endpoint.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/endpoint.svg
new file mode 100644
index 000000000..22aa7688b
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/endpoint.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/eql.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/eql.svg
new file mode 100644
index 000000000..1ae622e8a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/eql.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/eraser.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/eraser.svg
new file mode 100755
index 000000000..ab39c240c
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/eraser.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/error.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/error.svg
new file mode 100644
index 000000000..414a51da2
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/error.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/errorFilled.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/errorFilled.svg
new file mode 100644
index 000000000..37db74dcf
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/errorFilled.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/esqlVis.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/esqlVis.svg
new file mode 100644
index 000000000..8e70d5d7f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/esqlVis.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/exit.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/exit.svg
new file mode 100644
index 000000000..10172876f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/exit.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/expand.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/expand.svg
new file mode 100644
index 000000000..2367e6d1d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/expand.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/expandMini.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/expandMini.svg
new file mode 100644
index 000000000..32bf43ded
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/expandMini.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/export.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/export.svg
new file mode 100644
index 000000000..4d1c7470e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/export.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/eye.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/eye.svg
new file mode 100644
index 000000000..95aa88ddb
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/eye.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/eye_closed.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/eye_closed.svg
new file mode 100644
index 000000000..ed4ccede6
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/eye_closed.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/face_happy.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/face_happy.svg
new file mode 100644
index 000000000..20680c44a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/face_happy.svg
@@ -0,0 +1,5 @@
+
+
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/face_neutral.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/face_neutral.svg
new file mode 100644
index 000000000..bac3b9190
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/face_neutral.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/face_sad.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/face_sad.svg
new file mode 100644
index 000000000..dfe4ad7cf
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/face_sad.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/field_statistics.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/field_statistics.svg
new file mode 100644
index 000000000..c1def46c3
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/field_statistics.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/filter.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/filter.svg
new file mode 100644
index 000000000..d2c2a2e30
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/filter.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/filterExclude.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/filterExclude.svg
new file mode 100644
index 000000000..c2766f9f8
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/filterExclude.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/filterIgnore.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/filterIgnore.svg
new file mode 100644
index 000000000..950e0c377
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/filterIgnore.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/filterInCircle.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/filterInCircle.svg
new file mode 100644
index 000000000..ae8386b02
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/filterInCircle.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/filterInclude.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/filterInclude.svg
new file mode 100644
index 000000000..d66fce00e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/filterInclude.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/flag.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/flag.svg
new file mode 100644
index 000000000..b122dcd0a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/flag.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/flask.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/flask.svg
new file mode 100644
index 000000000..a257e29b8
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/flask.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/fold.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/fold.svg
new file mode 100644
index 000000000..dd308e69e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/fold.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/folder_check.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/folder_check.svg
new file mode 100755
index 000000000..aeb539616
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/folder_check.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/folder_closed.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/folder_closed.svg
new file mode 100755
index 000000000..98e975ac8
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/folder_closed.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/folder_exclamation.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/folder_exclamation.svg
new file mode 100755
index 000000000..69db5916f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/folder_exclamation.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/folder_open.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/folder_open.svg
new file mode 100755
index 000000000..0f536f85f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/folder_open.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/frameNext.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/frameNext.svg
new file mode 100644
index 000000000..8312b2b65
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/frameNext.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/framePrevious.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/framePrevious.svg
new file mode 100644
index 000000000..81cb6e4d8
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/framePrevious.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/fullScreenExit.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/fullScreenExit.svg
new file mode 100755
index 000000000..2b259090d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/fullScreenExit.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/full_screen.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/full_screen.svg
new file mode 100644
index 000000000..851e6a622
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/full_screen.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/function.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/function.svg
new file mode 100755
index 000000000..fd485ba93
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/function.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/gear.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/gear.svg
new file mode 100644
index 000000000..4f7139502
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/gear.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/globe.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/globe.svg
new file mode 100644
index 000000000..497b07068
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/globe.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/grab.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/grab.svg
new file mode 100644
index 000000000..26560ffd6
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/grab.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/grabOmnidirectional.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/grabOmnidirectional.svg
new file mode 100644
index 000000000..2d28b4542
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/grabOmnidirectional.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/grab_horizontal.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/grab_horizontal.svg
new file mode 100644
index 000000000..35f7a1d91
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/grab_horizontal.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/gradient.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/gradient.svg
new file mode 100644
index 000000000..6345d5f48
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/gradient.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/grid.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/grid.svg
new file mode 100644
index 000000000..7dfbfa586
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/grid.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/heart.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/heart.svg
new file mode 100644
index 000000000..0a9520174
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/heart.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/heatmap.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/heatmap.svg
new file mode 100644
index 000000000..b0e7604ca
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/heatmap.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/help.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/help.svg
new file mode 100644
index 000000000..3285f6e70
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/help.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/home.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/home.svg
new file mode 100644
index 000000000..ad1a980e9
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/home.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/image.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/image.svg
new file mode 100644
index 000000000..685131fef
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/image.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/import.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/import.svg
new file mode 100644
index 000000000..3baf12f71
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/import.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index.svg
new file mode 100644
index 000000000..6af8b7e92
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/indexTemporary.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/indexTemporary.svg
new file mode 100644
index 000000000..47f0c693e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/indexTemporary.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_close.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_close.svg
new file mode 100644
index 000000000..883180140
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_close.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_edit.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_edit.svg
new file mode 100644
index 000000000..e3bf54674
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_edit.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_flush.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_flush.svg
new file mode 100644
index 000000000..be11b1fdb
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_flush.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_mapping.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_mapping.svg
new file mode 100644
index 000000000..9f008508a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_mapping.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_open.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_open.svg
new file mode 100644
index 000000000..7cceb3322
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_open.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_runtime.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_runtime.svg
new file mode 100644
index 000000000..c39080e3c
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_runtime.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_settings.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_settings.svg
new file mode 100644
index 000000000..95f63b171
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/index_settings.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/infinity.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/infinity.svg
new file mode 100644
index 000000000..e04017e80
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/infinity.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/info.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/info.svg
new file mode 100644
index 000000000..f42677eb4
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/info.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/inputOutput.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/inputOutput.svg
new file mode 100644
index 000000000..638bacf8e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/inputOutput.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/inspect.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/inspect.svg
new file mode 100644
index 000000000..ed0c1a874
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/inspect.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/invert.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/invert.svg
new file mode 100644
index 000000000..87c3cf1d3
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/invert.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ip.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ip.svg
new file mode 100644
index 000000000..df1b2bf6a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ip.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/key.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/key.svg
new file mode 100644
index 000000000..4c16a6461
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/key.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/keyboard.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/keyboard.svg
new file mode 100644
index 000000000..94e966331
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/keyboard.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kql_field.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kql_field.svg
new file mode 100644
index 000000000..ef45c2b82
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kql_field.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kql_function.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kql_function.svg
new file mode 100644
index 000000000..fbaf829cf
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kql_function.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kql_operand.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kql_operand.svg
new file mode 100644
index 000000000..352f59d97
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kql_operand.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kql_selector.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kql_selector.svg
new file mode 100644
index 000000000..18bc40682
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kql_selector.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kql_value.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kql_value.svg
new file mode 100644
index 000000000..13e0c5db7
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kql_value.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kubernetesNode.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kubernetesNode.svg
new file mode 100644
index 000000000..16e89458e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kubernetesNode.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kubernetesPod.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kubernetesPod.svg
new file mode 100644
index 000000000..9cdc5af95
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/kubernetesPod.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/launch.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/launch.svg
new file mode 100644
index 000000000..c743295be
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/launch.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/layers.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/layers.svg
new file mode 100644
index 000000000..9db737c27
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/layers.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/lettering.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/lettering.svg
new file mode 100644
index 000000000..e7764e935
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/lettering.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/lineDashed.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/lineDashed.svg
new file mode 100644
index 000000000..9081b6f6a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/lineDashed.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/lineDotted.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/lineDotted.svg
new file mode 100644
index 000000000..fba3779a9
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/lineDotted.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/lineSolid.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/lineSolid.svg
new file mode 100644
index 000000000..84f2564c5
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/lineSolid.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/link.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/link.svg
new file mode 100644
index 000000000..310607d54
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/link.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/list.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/list.svg
new file mode 100644
index 000000000..0e3980f09
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/list.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/list_add.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/list_add.svg
new file mode 100644
index 000000000..d950be2fc
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/list_add.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/lock.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/lock.svg
new file mode 100644
index 000000000..1f970154e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/lock.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/lockOpen.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/lockOpen.svg
new file mode 100644
index 000000000..caec464a2
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/lockOpen.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/log_pattern_analysis.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/log_pattern_analysis.svg
new file mode 100644
index 000000000..7860594b4
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/log_pattern_analysis.svg
@@ -0,0 +1,19 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/log_rate_analysis.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/log_rate_analysis.svg
new file mode 100644
index 000000000..eef5f1c28
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/log_rate_analysis.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_aerospike.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_aerospike.svg
new file mode 100644
index 000000000..8bb21448d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_aerospike.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_apache.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_apache.svg
new file mode 100644
index 000000000..384761f64
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_apache.svg
@@ -0,0 +1,54 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_app_search.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_app_search.svg
new file mode 100644
index 000000000..17e257313
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_app_search.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_aws.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_aws.svg
new file mode 100644
index 000000000..f6ac6f719
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_aws.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_aws_mono.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_aws_mono.svg
new file mode 100644
index 000000000..4c420a0f7
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_aws_mono.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_azure.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_azure.svg
new file mode 100644
index 000000000..7595554ff
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_azure.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_azure_mono.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_azure_mono.svg
new file mode 100644
index 000000000..953eec0c0
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_azure_mono.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_beats.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_beats.svg
new file mode 100644
index 000000000..9b29c609b
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_beats.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_business_analytics.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_business_analytics.svg
new file mode 100644
index 000000000..7dfa5aa36
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_business_analytics.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_ceph.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_ceph.svg
new file mode 100644
index 000000000..2a5b4111d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_ceph.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_cloud.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_cloud.svg
new file mode 100644
index 000000000..391d6df32
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_cloud.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_cloud_ece.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_cloud_ece.svg
new file mode 100644
index 000000000..13a7fcb60
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_cloud_ece.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_code.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_code.svg
new file mode 100644
index 000000000..3bfde0300
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_code.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_codesandbox.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_codesandbox.svg
new file mode 100644
index 000000000..edea94b1a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_codesandbox.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_couchbase.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_couchbase.svg
new file mode 100644
index 000000000..d42d9899d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_couchbase.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_docker.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_docker.svg
new file mode 100644
index 000000000..b61583f95
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_docker.svg
@@ -0,0 +1 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_dropwizard.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_dropwizard.svg
new file mode 100644
index 000000000..5bd368ec9
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_dropwizard.svg
@@ -0,0 +1,21 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_elastic.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_elastic.svg
new file mode 100644
index 000000000..701ac542c
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_elastic.svg
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_elastic_stack.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_elastic_stack.svg
new file mode 100644
index 000000000..9c777f47c
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_elastic_stack.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_elasticsearch.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_elasticsearch.svg
new file mode 100644
index 000000000..20a620d16
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_elasticsearch.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_enterprise_search.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_enterprise_search.svg
new file mode 100644
index 000000000..7f790a254
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_enterprise_search.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_etcd.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_etcd.svg
new file mode 100644
index 000000000..e6a317c68
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_etcd.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_gcp.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_gcp.svg
new file mode 100644
index 000000000..75e139f9b
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_gcp.svg
@@ -0,0 +1,19 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_gcp_mono.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_gcp_mono.svg
new file mode 100644
index 000000000..16458c685
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_gcp_mono.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_github.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_github.svg
new file mode 100644
index 000000000..d4daa034e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_github.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_gmail.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_gmail.svg
new file mode 100644
index 000000000..39dbca459
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_gmail.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_golang.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_golang.svg
new file mode 100644
index 000000000..b01bcbc32
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_golang.svg
@@ -0,0 +1,37 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_google_g.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_google_g.svg
new file mode 100644
index 000000000..8d748cba2
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_google_g.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_haproxy.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_haproxy.svg
new file mode 100644
index 000000000..f45c35d34
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_haproxy.svg
@@ -0,0 +1,197 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_ibm.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_ibm.svg
new file mode 100644
index 000000000..cd92afbd7
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_ibm.svg
@@ -0,0 +1,37 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_ibm_mono.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_ibm_mono.svg
new file mode 100644
index 000000000..dab482b5f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_ibm_mono.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_kafka.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_kafka.svg
new file mode 100644
index 000000000..e88f77cb5
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_kafka.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_kibana.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_kibana.svg
new file mode 100644
index 000000000..bafebd936
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_kibana.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_kubernetes.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_kubernetes.svg
new file mode 100644
index 000000000..7f3e86f54
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_kubernetes.svg
@@ -0,0 +1 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_logging.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_logging.svg
new file mode 100644
index 000000000..1c7e3183a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_logging.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_logstash.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_logstash.svg
new file mode 100644
index 000000000..df5dec217
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_logstash.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_maps.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_maps.svg
new file mode 100644
index 000000000..7ec3b6b67
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_maps.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_memcached.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_memcached.svg
new file mode 100644
index 000000000..f09f3a125
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_memcached.svg
@@ -0,0 +1,28 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_metrics.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_metrics.svg
new file mode 100644
index 000000000..234672e95
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_metrics.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_mongodb.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_mongodb.svg
new file mode 100644
index 000000000..1727f81d2
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_mongodb.svg
@@ -0,0 +1,10 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_mysql.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_mysql.svg
new file mode 100644
index 000000000..cfe6cbb66
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_mysql.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_nginx.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_nginx.svg
new file mode 100644
index 000000000..49ac842a8
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_nginx.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_observability.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_observability.svg
new file mode 100644
index 000000000..6477ae54c
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_observability.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_osquery.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_osquery.svg
new file mode 100644
index 000000000..cbcb76d38
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_osquery.svg
@@ -0,0 +1,12 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_php.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_php.svg
new file mode 100644
index 000000000..43521dc8f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_php.svg
@@ -0,0 +1,44 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_postgres.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_postgres.svg
new file mode 100644
index 000000000..0306131fc
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_postgres.svg
@@ -0,0 +1,8 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_prometheus.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_prometheus.svg
new file mode 100644
index 000000000..9ee24e53f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_prometheus.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_rabbitmq.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_rabbitmq.svg
new file mode 100644
index 000000000..dabd2a574
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_rabbitmq.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_redis.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_redis.svg
new file mode 100644
index 000000000..1163d1ea5
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_redis.svg
@@ -0,0 +1 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_security.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_security.svg
new file mode 100644
index 000000000..20e8de9a2
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_security.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_site_search.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_site_search.svg
new file mode 100644
index 000000000..06576b775
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_site_search.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_sketch.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_sketch.svg
new file mode 100644
index 000000000..455dec854
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_sketch.svg
@@ -0,0 +1,12 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_slack.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_slack.svg
new file mode 100644
index 000000000..94695bbd5
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_slack.svg
@@ -0,0 +1,8 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_uptime.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_uptime.svg
new file mode 100644
index 000000000..40020e30f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_uptime.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_vulnerability_management.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_vulnerability_management.svg
new file mode 100644
index 000000000..701ff5e2f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_vulnerability_management.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_webhook.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_webhook.svg
new file mode 100644
index 000000000..2df413761
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_webhook.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_windows.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_windows.svg
new file mode 100644
index 000000000..953b33d8f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_windows.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_workplace_search.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_workplace_search.svg
new file mode 100644
index 000000000..c2ef911b7
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logo_workplace_search.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logstash_filter.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logstash_filter.svg
new file mode 100644
index 000000000..88330a3d7
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logstash_filter.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logstash_if.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logstash_if.svg
new file mode 100644
index 000000000..13307045c
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logstash_if.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logstash_input.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logstash_input.svg
new file mode 100644
index 000000000..115306c08
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logstash_input.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logstash_output.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logstash_output.svg
new file mode 100644
index 000000000..0914c595b
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logstash_output.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logstash_queue.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logstash_queue.svg
new file mode 100644
index 000000000..d249a5359
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/logstash_queue.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/magnet.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/magnet.svg
new file mode 100644
index 000000000..b036ba77e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/magnet.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/magnifyWithExclamation.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/magnifyWithExclamation.svg
new file mode 100644
index 000000000..ca011313c
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/magnifyWithExclamation.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/magnifyWithMinus.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/magnifyWithMinus.svg
new file mode 100644
index 000000000..972f759bc
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/magnifyWithMinus.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/magnifyWithPlus.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/magnifyWithPlus.svg
new file mode 100644
index 000000000..c3f3474d4
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/magnifyWithPlus.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/map_marker.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/map_marker.svg
new file mode 100644
index 000000000..ed566d64f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/map_marker.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/memory.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/memory.svg
new file mode 100644
index 000000000..6f3c0bcb6
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/memory.svg
@@ -0,0 +1,12 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/menu.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/menu.svg
new file mode 100755
index 000000000..3d1df578e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/menu.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/menuDown.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/menuDown.svg
new file mode 100644
index 000000000..5ec34dc4d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/menuDown.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/menuLeft.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/menuLeft.svg
new file mode 100644
index 000000000..55b43bf2a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/menuLeft.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/menuRight.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/menuRight.svg
new file mode 100644
index 000000000..fc6130ece
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/menuRight.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/menuUp.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/menuUp.svg
new file mode 100644
index 000000000..c39ae04ea
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/menuUp.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/merge.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/merge.svg
new file mode 100644
index 000000000..8b9da8404
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/merge.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/minimize.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/minimize.svg
new file mode 100644
index 000000000..58e8785fd
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/minimize.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/minus.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/minus.svg
new file mode 100644
index 000000000..40214b744
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/minus.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/minus_in_circle.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/minus_in_circle.svg
new file mode 100644
index 000000000..ebee00434
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/minus_in_circle.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/minus_in_circle_filled.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/minus_in_circle_filled.svg
new file mode 100644
index 000000000..7f4cc7f17
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/minus_in_circle_filled.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/minus_in_square.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/minus_in_square.svg
new file mode 100644
index 000000000..ec8ac321b
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/minus_in_square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_classification_job.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_classification_job.svg
new file mode 100644
index 000000000..51a55973c
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_classification_job.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_create_advanced_job.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_create_advanced_job.svg
new file mode 100644
index 000000000..abb613fa5
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_create_advanced_job.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_create_generic_job.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_create_generic_job.svg
new file mode 100644
index 000000000..e879e26a6
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_create_generic_job.svg
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_create_geo_job.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_create_geo_job.svg
new file mode 100644
index 000000000..96b8bd3fc
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_create_geo_job.svg
@@ -0,0 +1,12 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_create_multi_metric_job.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_create_multi_metric_job.svg
new file mode 100644
index 000000000..f48300444
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_create_multi_metric_job.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_create_population_job.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_create_population_job.svg
new file mode 100644
index 000000000..8ab7f8e2d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_create_population_job.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_create_single_metric_job.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_create_single_metric_job.svg
new file mode 100644
index 000000000..20411eb45
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_create_single_metric_job.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_data_visualizer.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_data_visualizer.svg
new file mode 100755
index 000000000..17adf828c
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_data_visualizer.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_outlier_detection_job.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_outlier_detection_job.svg
new file mode 100644
index 000000000..c75a8120a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_outlier_detection_job.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_regression_job.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_regression_job.svg
new file mode 100644
index 000000000..d76158bc5
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/ml_regression_job.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/mobile.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/mobile.svg
new file mode 100644
index 000000000..87a3b6b2a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/mobile.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/moon.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/moon.svg
new file mode 100644
index 000000000..e07a6c99f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/moon.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/move.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/move.svg
new file mode 100644
index 000000000..2714d3297
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/move.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/namespace.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/namespace.svg
new file mode 100644
index 000000000..22e07741f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/namespace.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/nested.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/nested.svg
new file mode 100644
index 000000000..13f293de9
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/nested.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/new_chat.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/new_chat.svg
new file mode 100644
index 000000000..ceb848afc
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/new_chat.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/node.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/node.svg
new file mode 100644
index 000000000..b63c03d96
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/node.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/number.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/number.svg
new file mode 100644
index 000000000..2f90f9c68
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/number.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/offline.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/offline.svg
new file mode 100644
index 000000000..3921a3fa5
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/offline.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/online.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/online.svg
new file mode 100644
index 000000000..0fc3d72bd
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/online.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/package.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/package.svg
new file mode 100644
index 000000000..8ec479e01
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/package.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pageSelect.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pageSelect.svg
new file mode 100755
index 000000000..377f9b16e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pageSelect.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pagesSelect.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pagesSelect.svg
new file mode 100755
index 000000000..f3f43d715
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pagesSelect.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/paint.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/paint.svg
new file mode 100644
index 000000000..90282308a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/paint.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/palette.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/palette.svg
new file mode 100644
index 000000000..cf6946b54
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/palette.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/paper_clip.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/paper_clip.svg
new file mode 100644
index 000000000..8cc0d8680
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/paper_clip.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/partial.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/partial.svg
new file mode 100644
index 000000000..380bafb22
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/partial.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pause.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pause.svg
new file mode 100644
index 000000000..7c036a653
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pause.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/payment.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/payment.svg
new file mode 100644
index 000000000..d85829352
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/payment.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pencil.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pencil.svg
new file mode 100644
index 000000000..2bca4696b
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pencil.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/percent.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/percent.svg
new file mode 100755
index 000000000..36b3ad029
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/percent.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pin.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pin.svg
new file mode 100644
index 000000000..1ef278960
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pin.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pin_filled.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pin_filled.svg
new file mode 100644
index 000000000..3708fd0f2
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pin_filled.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pipeBreaks.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pipeBreaks.svg
new file mode 100644
index 000000000..7ea463c97
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pipeBreaks.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pipeNoBreaks.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pipeNoBreaks.svg
new file mode 100644
index 000000000..f6d12d619
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pipeNoBreaks.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pivot.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pivot.svg
new file mode 100644
index 000000000..d467ab1d9
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/pivot.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/play.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/play.svg
new file mode 100644
index 000000000..40b9a176d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/play.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/playFilled.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/playFilled.svg
new file mode 100644
index 000000000..6ce4089e2
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/playFilled.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/plugs.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/plugs.svg
new file mode 100644
index 000000000..2038cee60
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/plugs.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/plus.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/plus.svg
new file mode 100644
index 000000000..14961454c
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/plus_in_circle.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/plus_in_circle.svg
new file mode 100644
index 000000000..3d6c88e18
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/plus_in_circle.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/plus_in_circle_filled.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/plus_in_circle_filled.svg
new file mode 100644
index 000000000..b4d5f11ba
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/plus_in_circle_filled.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/plus_in_square.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/plus_in_square.svg
new file mode 100644
index 000000000..6a8adc422
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/plus_in_square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/popout.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/popout.svg
new file mode 100644
index 000000000..98e92e844
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/popout.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/push.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/push.svg
new file mode 100755
index 000000000..c0907e6a3
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/push.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/question.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/question.svg
new file mode 100644
index 000000000..e9270495f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/question.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/quote.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/quote.svg
new file mode 100755
index 000000000..fbdaf9b31
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/quote.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/readOnly.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/readOnly.svg
new file mode 100644
index 000000000..57fe403f9
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/readOnly.svg
@@ -0,0 +1,8 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/refresh.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/refresh.svg
new file mode 100644
index 000000000..3a2393f97
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/refresh.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/reporter.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/reporter.svg
new file mode 100755
index 000000000..f75a5af67
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/reporter.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/return_key.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/return_key.svg
new file mode 100644
index 000000000..bc2dd3fde
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/return_key.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/save.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/save.svg
new file mode 100644
index 000000000..5b623a9a9
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/save.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/scale.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/scale.svg
new file mode 100644
index 000000000..4ef2e9df2
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/scale.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/search.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/search.svg
new file mode 100644
index 000000000..deb06f48e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/search.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/section.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/section.svg
new file mode 100644
index 000000000..52d5c6b14
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/section.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/securitySignal.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/securitySignal.svg
new file mode 100755
index 000000000..90e991b6d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/securitySignal.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/securitySignalDetected.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/securitySignalDetected.svg
new file mode 100755
index 000000000..6fc8e9001
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/securitySignalDetected.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/securitySignalResolved.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/securitySignalResolved.svg
new file mode 100755
index 000000000..319e1df15
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/securitySignalResolved.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sessionViewer.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sessionViewer.svg
new file mode 100644
index 000000000..923f46e0e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sessionViewer.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/shard.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/shard.svg
new file mode 100644
index 000000000..afd0f282c
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/shard.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/share.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/share.svg
new file mode 100644
index 000000000..9f6269b96
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/share.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/single_metric_viewer.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/single_metric_viewer.svg
new file mode 100644
index 000000000..f80204829
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/single_metric_viewer.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/snowflake.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/snowflake.svg
new file mode 100644
index 000000000..93fc57c7f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/snowflake.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sortAscending.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sortAscending.svg
new file mode 100644
index 000000000..a6af1d550
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sortAscending.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sortDescending.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sortDescending.svg
new file mode 100644
index 000000000..c14d624e1
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sortDescending.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sortLeft.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sortLeft.svg
new file mode 100644
index 000000000..55e44c5a9
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sortLeft.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sortRight.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sortRight.svg
new file mode 100644
index 000000000..0f8224582
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sortRight.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sort_down.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sort_down.svg
new file mode 100644
index 000000000..67b475d0b
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sort_down.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sort_up.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sort_up.svg
new file mode 100644
index 000000000..a1a40c714
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sort_up.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sortable.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sortable.svg
new file mode 100644
index 000000000..c6d15e12b
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sortable.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/spaces.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/spaces.svg
new file mode 100644
index 000000000..752f5f6d1
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/spaces.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sparkles.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sparkles.svg
new file mode 100644
index 000000000..6778112e3
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sparkles.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/starPlusEmpty.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/starPlusEmpty.svg
new file mode 100644
index 000000000..1657df21a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/starPlusEmpty.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/starPlusFilled.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/starPlusFilled.svg
new file mode 100644
index 000000000..4bfe64a05
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/starPlusFilled.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/star_empty.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/star_empty.svg
new file mode 100644
index 000000000..64211fe37
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/star_empty.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/star_empty_space.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/star_empty_space.svg
new file mode 100644
index 000000000..b309f0fd7
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/star_empty_space.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/star_filled.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/star_filled.svg
new file mode 100644
index 000000000..afacb8883
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/star_filled.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/star_filled_space.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/star_filled_space.svg
new file mode 100644
index 000000000..9b5ecb993
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/star_filled_space.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/star_minus_empty.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/star_minus_empty.svg
new file mode 100644
index 000000000..062ed20c1
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/star_minus_empty.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/star_minus_filled.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/star_minus_filled.svg
new file mode 100644
index 000000000..35d98883d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/star_minus_filled.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/stats.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/stats.svg
new file mode 100644
index 000000000..f89a6aa01
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/stats.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/stop.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/stop.svg
new file mode 100644
index 000000000..cf8b1ebeb
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/stop.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/stop_filled.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/stop_filled.svg
new file mode 100644
index 000000000..8c5779aaf
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/stop_filled.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/stop_slash.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/stop_slash.svg
new file mode 100644
index 000000000..7ef4b0cf4
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/stop_slash.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/storage.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/storage.svg
new file mode 100644
index 000000000..6f275700b
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/storage.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/string.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/string.svg
new file mode 100644
index 000000000..db8066c11
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/string.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/submodule.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/submodule.svg
new file mode 100644
index 000000000..90b2a9142
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/submodule.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sun.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sun.svg
new file mode 100644
index 000000000..8906bc8e1
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/sun.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/swatch_input.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/swatch_input.svg
new file mode 100644
index 000000000..e3dae5e66
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/swatch_input.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/symlink.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/symlink.svg
new file mode 100644
index 000000000..6d447adc9
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/symlink.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tableOfContents.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tableOfContents.svg
new file mode 100644
index 000000000..9f4ccf374
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tableOfContents.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/table_density_compact.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/table_density_compact.svg
new file mode 100644
index 000000000..8fd5070d5
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/table_density_compact.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/table_density_expanded.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/table_density_expanded.svg
new file mode 100644
index 000000000..f71a3c92a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/table_density_expanded.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/table_density_normal.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/table_density_normal.svg
new file mode 100644
index 000000000..aa9b43c2d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/table_density_normal.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tag.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tag.svg
new file mode 100644
index 000000000..495cffd97
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tag.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tear.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tear.svg
new file mode 100644
index 000000000..61076025e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tear.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/temperature.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/temperature.svg
new file mode 100644
index 000000000..1259f20cb
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/temperature.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/timeRefresh.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/timeRefresh.svg
new file mode 100644
index 000000000..4d0273cbf
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/timeRefresh.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/timeline.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/timeline.svg
new file mode 100755
index 000000000..3c3ca0c2c
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/timeline.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/timelineWithArrow.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/timelineWithArrow.svg
new file mode 100644
index 000000000..30289e42d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/timelineWithArrow.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/timeslider.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/timeslider.svg
new file mode 100644
index 000000000..edf8f4f7d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/timeslider.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenAlias.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenAlias.svg
new file mode 100644
index 000000000..ab9c10e7a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenAlias.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenAnnotation.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenAnnotation.svg
new file mode 100644
index 000000000..41fd12a82
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenAnnotation.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenArray.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenArray.svg
new file mode 100644
index 000000000..9ec65f32a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenArray.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenBinary.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenBinary.svg
new file mode 100644
index 000000000..3c262adfc
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenBinary.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenBoolean.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenBoolean.svg
new file mode 100644
index 000000000..69493d549
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenBoolean.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenClass.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenClass.svg
new file mode 100644
index 000000000..a488b9c36
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenClass.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenCompletionSuggester.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenCompletionSuggester.svg
new file mode 100644
index 000000000..4d6a5e580
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenCompletionSuggester.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenConstant.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenConstant.svg
new file mode 100644
index 000000000..382a2722d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenConstant.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenDate.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenDate.svg
new file mode 100644
index 000000000..a793ef101
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenDate.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenDimension.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenDimension.svg
new file mode 100644
index 000000000..269cd6aa5
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenDimension.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenElement.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenElement.svg
new file mode 100644
index 000000000..c3ee750e3
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenElement.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenEnum.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenEnum.svg
new file mode 100644
index 000000000..a7fc4f33d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenEnum.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenEnumMember.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenEnumMember.svg
new file mode 100644
index 000000000..97e8942ab
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenEnumMember.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenEvent.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenEvent.svg
new file mode 100644
index 000000000..cced9f3e6
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenEvent.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenException.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenException.svg
new file mode 100644
index 000000000..9f9c76907
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenException.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenField.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenField.svg
new file mode 100644
index 000000000..0ed4b5ae1
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenField.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenFile.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenFile.svg
new file mode 100644
index 000000000..5d47c04a2
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenFile.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenFlattened.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenFlattened.svg
new file mode 100644
index 000000000..2bd08dcef
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenFlattened.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenFunction.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenFunction.svg
new file mode 100644
index 000000000..0d6fff2ec
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenFunction.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenGeo.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenGeo.svg
new file mode 100644
index 000000000..64b6b904e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenGeo.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenHistogram.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenHistogram.svg
new file mode 100644
index 000000000..49b57b823
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenHistogram.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenIP.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenIP.svg
new file mode 100644
index 000000000..c338622c4
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenIP.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenInterface.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenInterface.svg
new file mode 100644
index 000000000..63c6fd04a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenInterface.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenJoin.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenJoin.svg
new file mode 100644
index 000000000..e7e52a4f1
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenJoin.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenKey.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenKey.svg
new file mode 100644
index 000000000..5350085bf
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenKey.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenKeyword.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenKeyword.svg
new file mode 100644
index 000000000..fa6b1892d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenKeyword.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenMethod.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenMethod.svg
new file mode 100644
index 000000000..b5b725d0d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenMethod.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenMetricCounter.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenMetricCounter.svg
new file mode 100644
index 000000000..a95f2389c
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenMetricCounter.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenMetricGauge.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenMetricGauge.svg
new file mode 100644
index 000000000..1db4766d9
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenMetricGauge.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenModule.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenModule.svg
new file mode 100644
index 000000000..595eb76d1
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenModule.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenNamespace.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenNamespace.svg
new file mode 100644
index 000000000..85491b6e3
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenNamespace.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenNested.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenNested.svg
new file mode 100644
index 000000000..e38f32313
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenNested.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenNull.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenNull.svg
new file mode 100644
index 000000000..eb226b2cd
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenNull.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenNumber.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenNumber.svg
new file mode 100644
index 000000000..8390c8906
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenNumber.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenObject.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenObject.svg
new file mode 100644
index 000000000..6bb97bdab
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenObject.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenOperator.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenOperator.svg
new file mode 100644
index 000000000..bf735fbd9
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenOperator.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenPackage.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenPackage.svg
new file mode 100644
index 000000000..ba5fbe90b
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenPackage.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenParameter.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenParameter.svg
new file mode 100644
index 000000000..899cb8f81
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenParameter.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenPercolator.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenPercolator.svg
new file mode 100644
index 000000000..ddc4c1e78
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenPercolator.svg
@@ -0,0 +1,4 @@
+
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenProperty.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenProperty.svg
new file mode 100644
index 000000000..899cb8f81
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenProperty.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenRange.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenRange.svg
new file mode 100644
index 000000000..ab80c5ea7
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenRange.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenRankFeature.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenRankFeature.svg
new file mode 100644
index 000000000..96c9ccabc
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenRankFeature.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenRankFeatures.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenRankFeatures.svg
new file mode 100644
index 000000000..96c9ccabc
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenRankFeatures.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenRepo.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenRepo.svg
new file mode 100644
index 000000000..1c099a26f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenRepo.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenSearchType.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenSearchType.svg
new file mode 100644
index 000000000..c6511c2ed
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenSearchType.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenSemanticText.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenSemanticText.svg
new file mode 100644
index 000000000..15d3f356e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenSemanticText.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenShape.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenShape.svg
new file mode 100644
index 000000000..a93cd1884
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenShape.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenString.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenString.svg
new file mode 100644
index 000000000..f475016c1
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenString.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenStruct.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenStruct.svg
new file mode 100644
index 000000000..93265ccfa
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenStruct.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenSymbol.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenSymbol.svg
new file mode 100644
index 000000000..a0f959a5d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenSymbol.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenTag.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenTag.svg
new file mode 100644
index 000000000..e9c465e3e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenTag.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenText.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenText.svg
new file mode 100644
index 000000000..bdba54dd5
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenText.svg
@@ -0,0 +1,4 @@
+
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenTokenCount.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenTokenCount.svg
new file mode 100644
index 000000000..232c00a11
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenTokenCount.svg
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenVariable.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenVariable.svg
new file mode 100644
index 000000000..9e9a0c62b
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenVariable.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenVectorDense.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenVectorDense.svg
new file mode 100644
index 000000000..883e56bcf
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenVectorDense.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenVectorSparse.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenVectorSparse.svg
new file mode 100644
index 000000000..f2296572c
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/tokens/tokenVectorSparse.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/training.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/training.svg
new file mode 100644
index 000000000..0205c51e1
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/training.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/transitionLeftIn.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/transitionLeftIn.svg
new file mode 100644
index 000000000..112b4a555
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/transitionLeftIn.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/transitionLeftOut.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/transitionLeftOut.svg
new file mode 100644
index 000000000..ba9173aaf
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/transitionLeftOut.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/transitionTopIn.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/transitionTopIn.svg
new file mode 100644
index 000000000..78a635530
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/transitionTopIn.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/transitionTopOut.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/transitionTopOut.svg
new file mode 100644
index 000000000..d3408a73a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/transitionTopOut.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/trash.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/trash.svg
new file mode 100644
index 000000000..c989353d4
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/trash.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/unfold.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/unfold.svg
new file mode 100644
index 000000000..ef6f1835e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/unfold.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/unlink.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/unlink.svg
new file mode 100644
index 000000000..ce00c5b2e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/unlink.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/user.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/user.svg
new file mode 100644
index 000000000..9d02e0cca
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/user.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/users.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/users.svg
new file mode 100644
index 000000000..99a17b7b3
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/users.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vector.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vector.svg
new file mode 100644
index 000000000..57ddb3fd9
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vector.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/videoPlayer.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/videoPlayer.svg
new file mode 100644
index 000000000..6f2ec5e42
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/videoPlayer.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_area.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_area.svg
new file mode 100644
index 000000000..d5c421e2e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_area.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_area_stacked.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_area_stacked.svg
new file mode 100644
index 000000000..87e37c824
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_area_stacked.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_bar_horizontal.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_bar_horizontal.svg
new file mode 100644
index 000000000..694717aec
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_bar_horizontal.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_bar_horizontal_stacked.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_bar_horizontal_stacked.svg
new file mode 100644
index 000000000..8a3807e10
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_bar_horizontal_stacked.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_bar_vertical.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_bar_vertical.svg
new file mode 100644
index 000000000..2e431ba8d
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_bar_vertical.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_bar_vertical_stacked.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_bar_vertical_stacked.svg
new file mode 100644
index 000000000..f33513d05
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_bar_vertical_stacked.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_gauge.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_gauge.svg
new file mode 100644
index 000000000..d5a7bf989
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_gauge.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_goal.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_goal.svg
new file mode 100644
index 000000000..925df6bf7
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_goal.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_line.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_line.svg
new file mode 100644
index 000000000..88c969d5f
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_line.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_map_coordinate.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_map_coordinate.svg
new file mode 100644
index 000000000..7482e8a68
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_map_coordinate.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_map_region.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_map_region.svg
new file mode 100644
index 000000000..f7f0fd0c6
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_map_region.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_metric.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_metric.svg
new file mode 100644
index 000000000..6e460e3a4
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_metric.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_pie.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_pie.svg
new file mode 100644
index 000000000..f08c3aad4
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_pie.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_table.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_table.svg
new file mode 100644
index 000000000..8d3c68cde
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_table.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_tag_cloud.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_tag_cloud.svg
new file mode 100644
index 000000000..22259f5ea
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_tag_cloud.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_text.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_text.svg
new file mode 100644
index 000000000..56948cf1c
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_text.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_timelion.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_timelion.svg
new file mode 100644
index 000000000..771b1e22e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_timelion.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_visual_builder.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_visual_builder.svg
new file mode 100644
index 000000000..0f9638d7e
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/vis_visual_builder.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/warning.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/warning.svg
new file mode 100644
index 000000000..0c74f65c3
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/warning.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/warningFilled.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/warningFilled.svg
new file mode 100644
index 000000000..d9952fd2a
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/warningFilled.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/web.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/web.svg
new file mode 100644
index 000000000..6cd8789a5
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/web.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/wordWrap.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/wordWrap.svg
new file mode 100755
index 000000000..18ac81b26
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/wordWrap.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/wordWrapDisabled.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/wordWrapDisabled.svg
new file mode 100755
index 000000000..3d2129e22
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/wordWrapDisabled.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/Icons/svgs/wrench.svg b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/wrench.svg
new file mode 100644
index 000000000..fcf74bb06
--- /dev/null
+++ b/src/Elastic.Markdown/Myst/Roles/Icons/svgs/wrench.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/Elastic.Markdown/Myst/Roles/RoleParser.cs b/src/Elastic.Markdown/Myst/Roles/RoleParser.cs
index 54e5fe4c2..1325bb55d 100644
--- a/src/Elastic.Markdown/Myst/Roles/RoleParser.cs
+++ b/src/Elastic.Markdown/Myst/Roles/RoleParser.cs
@@ -84,8 +84,11 @@ public override bool Match(InlineProcessor processor, ref StringSlice slice)
if (closeBackTicks > 1)
return false;
- var contentSpan = span[startContent..(startContent + i + 2)];
+ // Fix: Ensure we don't exceed the span length when calculating the end index
+ var endIndex = Math.Min(startContent + i + 2, span.Length);
+ var contentSpan = span[startContent..endIndex];
+ // var contentSpan = span[startContent..(startContent + i + 2)];
var startPosition = slice.Start;
slice.Start = startPosition + roleContent.Length + contentSpan.Length;
@@ -97,7 +100,7 @@ public override bool Match(InlineProcessor processor, ref StringSlice slice)
var end = processor.GetSourcePosition(slice.Start);
var sourceSpan = new SourceSpan(start, end);
- var leaf = CreateRole(roleContent.ToString(), contentSpan.Trim('`').ToString(), processor);
+ var leaf = CreateRole(roleContent.ToString(), contentSpan.Trim().Trim('`').ToString(), processor);
leaf.Delimiter = '{';
leaf.Span = sourceSpan;
leaf.Line = line;
diff --git a/tests/Elastic.Markdown.Tests/Inline/IconParserTests.cs b/tests/Elastic.Markdown.Tests/Inline/IconParserTests.cs
new file mode 100644
index 000000000..29f1fdf67
--- /dev/null
+++ b/tests/Elastic.Markdown.Tests/Inline/IconParserTests.cs
@@ -0,0 +1,59 @@
+// Licensed to Elasticsearch B.V under one or more agreements.
+// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information
+
+using FluentAssertions;
+
+namespace Elastic.Markdown.Tests.Inline;
+
+public class IconParserTests(ITestOutputHelper output) : InlineTest(output,
+ """
+ A check mark {icon}`check`. A cross {icon}`cross`. A warning {icon}`warning`.
+
+ An unknown icon {icon}`not_a_real_icon` should not be replaced.
+ This should not be an icon either/this:apm_trace:is:not:an:icon.
+ Nor should this be an icon :invalid-icon:.
+ An empty one is not an icon either ::.
+ """
+)
+{
+ [Fact]
+ public void Render() =>
+ Html.Should().Contain("")
+ .And.Contain("")
+ .And.Contain("")
+ .And.NotContain("{icon}`check`")
+ .And.NotContain("{icon}`cross`")
+ .And.NotContain("{icon}`warning`")
+ .And.Contain("/this:apm_trace:is:not:an:icon")
+ .And.Contain(":invalid-icon:")
+ .And.Contain("::");
+}
+
+public class IconInListItemTest(ITestOutputHelper output) : InlineTest(output,
+ """
+ - {icon}`check` A check mark.
+ """
+)
+{
+ [Fact]
+ public void Render() =>
+ Html.Should()
+ .Contain("")
+ .And.NotContain("{icon}`check`")
+ .And.NotContain("");
+}
+
+public class IconInHeadingShouldBeRemovedFromAnchor(ITestOutputHelper output) : InlineTest(output,
+ """
+ ## Users {icon}`check`
+ """
+)
+{
+ [Fact]
+ public void Render() =>
+ Html.Should()
+ .Contain("