Просмотр исходного кода

Add admonition support for embedded docs

Jeremy Stretch 6 лет назад
Родитель
Сommit
121c7ada1f
2 измененных файлов с 56 добавлено и 3 удалено
  1. 52 0
      netbox/project-static/css/base.css
  2. 4 3
      netbox/utilities/templatetags/helpers.py

+ 52 - 0
netbox/project-static/css/base.css

@@ -234,6 +234,58 @@ table.report th a {
     margin-bottom: 0;
 }
 
+/* Admonition (docs) */
+.admonition {
+    margin-bottom: 10px;
+    padding-bottom: 2px;
+}
+.admonition p {
+    padding: 0 12px;
+}
+.admonition pre {
+    margin: 0 12px 10px;
+}
+.admonition p.admonition-title {
+    color: rgb(255, 255, 255);
+    font-weight: bold;
+    padding: 4px 12px;
+}
+.admonition p.admonition-title::before {
+    content: "\f06a";
+    font-family: "FontAwesome";
+    margin-right: 4px;
+}
+/* Admonition - Note */
+.admonition.note {
+    background-color: rgb(231, 242, 250);
+}
+.admonition.note .admonition-title {
+    background-color: rgb(106, 176, 222);
+}
+.admonition.note .admonition-title::before {
+    content: "\f05a";
+}
+/* Admonition - Warning */
+.admonition.warning {
+    background-color: rgb(255, 237, 204);
+}
+.admonition.warning .admonition-title {
+    background-color: rgb(240, 179, 126);
+}
+.admonition.warning .admonition-title::before {
+    content: "\f06a";
+}
+/* Admonition - Danger */
+.admonition.danger {
+    background-color: rgb(253, 243, 242);
+}
+.admonition.danger .admonition-title {
+    background-color: rgb(242, 159, 151);
+}
+.admonition.danger .admonition-title::before {
+    content: "\f071";
+}
+
 /* AJAX loader */
 .loading {
     position: fixed;

+ 4 - 3
netbox/utilities/templatetags/helpers.py

@@ -63,8 +63,8 @@ def gfm(value):
     # Strip HTML tags
     value = strip_tags(value)
 
-    # Render Markdown with GFM extension
-    html = markdown(value, extensions=['mdx_gfm'])
+    # Render Markdown with GitHub-flavored extension
+    html = markdown(value, extensions=['gfm'])
 
     return mark_safe(html)
 
@@ -225,7 +225,8 @@ def get_docs(model):
     with open(path) as docfile:
         content = docfile.read()
 
-    content = markdown(content, extensions=['mdx_gfm'])
+    # Render Markdown with GFM, admonition
+    content = markdown(content, extensions=['gfm', 'admonition'])
 
     return mark_safe(content)