Clean up & comment base templates

This commit is contained in:
jeremystretch 2021-05-14 15:31:35 -04:00
parent dc5c765c2a
commit 06b80b060c
4 changed files with 145 additions and 140 deletions

View File

@ -1,8 +1,20 @@
{% load static %} {% load helpers %} {# Base template for (almost) all NetBox pages #}
{% load static %}
{% load static %}
{% load helpers %}
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"
/>
{# Page title #}
<title>{% block title %}Home{% endblock %} | NetBox</title> <title>{% block title %}Home{% endblock %} | NetBox</title>
{# Static resources #}
<link <link
rel="stylesheet" rel="stylesheet"
href="{% static 'netbox-external.css'%}" href="{% static 'netbox-external.css'%}"
@ -18,30 +30,38 @@
href="{% static 'netbox-dark.css'%}" href="{% static 'netbox-dark.css'%}"
onerror="window.location='{% url 'media_failure' %}?filename=netbox-dark.css'" onerror="window.location='{% url 'media_failure' %}?filename=netbox-dark.css'"
/> />
<link rel="icon" type="image/png" href="{% static 'netbox.ico' %}" /> <link rel="icon" type="image/png" href="{% static 'netbox.ico' %}" />
<meta charset="UTF-8" />
<meta {# Javascript #}
name="viewport"
content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"
/>
<script <script
type="text/javascript" type="text/javascript"
src="{% static 'netbox.js' %}" src="{% static 'netbox.js' %}"
onerror="window.location='{% url 'media_failure' %}?filename=netbox.js'"> onerror="window.location='{% url 'media_failure' %}?filename=netbox.js'">
</script> </script>
{# Additional <head> content #}
{% block head %}{% endblock %} {% block head %}{% endblock %}
</head> </head>
{% with color_mode=preferences|get_key:'ui.colormode' %}
<body{%if color_mode == 'dark'%} data-netbox-color-mode="dark"{% elif color_mode == 'light' %} data-netbox-color-mode="light"{% endif %}>
<body
{% if preferences|get_key:'ui.colormode' == 'dark'%} data-netbox-color-mode="dark"
{% else %} data-netbox-color-mode="light"
{% endif %}
>
{# Page layout #}
{% block layout %}{% endblock %} {% block layout %}{% endblock %}
{# Additional Javascript #}
{% block javascript %}{% endblock %} {% block javascript %}{% endblock %}
{# User messages #}
{% include './messages.html' %} {% include './messages.html' %}
{# Data container #}
<div id="netbox-data" style="display: none!important; visibility: hidden!important"> <div id="netbox-data" style="display: none!important; visibility: hidden!important">
{% block data %}{% endblock %} {% block data %}{% endblock %}
</div> </div>
</body> </body>
{% endwith %}
</html> </html>

View File

@ -1,16 +0,0 @@
<div class="d-flex flex-column container-fluid mt-auto justify-content-end sidebar-bottom">
<nav class="nav justify-content-between mb-2 mt-4 px-2">
<a type="button" target="_blank" class="nav-link" href="https://netbox.readthedocs.io/">
<i title="Docs" class="mdi mdi-book-open-variant text-primary" data-bs-placement="top" data-bs-toggle="tooltip"></i>
</a>
<a class="nav-link" href="{% url 'api_docs' %}" target="_blank">
<i title="API" data-bs-placement="top" data-bs-toggle="tooltip" class="mdi mdi-code-braces text-primary"></i>
</a>
<a class="nav-link" href="https://github.com/netbox-community/netbox" target="_blank">
<i title="Source Code" data-bs-placement="top" data-bs-toggle="tooltip" class="mdi mdi-code-tags text-primary"></i>
</a>
<a target="_blank" class="nav-link" href="https://github.com/netbox-community/netbox/wiki">
<i title="Get Help" data-bs-placement="top" data-bs-toggle="tooltip" class="mdi mdi-lifebuoy text-primary"></i>
</a>
</nav>
</div>

View File

@ -1,42 +0,0 @@
<footer class="footer mt-auto bg-light p-3 text-center">
<div class="container-fluid">
<div class="row">
<div class="col d-flex flex-column justify-content-center">
<span class="text-muted">
{{ settings.HOSTNAME }} (v{{ settings.VERSION }})
</span>
</div>
<div class="col d-flex flex-column justify-content-center">
<span class="text-muted">{% now 'Y-m-d H:i:s T' %}</span>
</div>
<div class="col d-flex flex-column justify-content-center">
<nav class="nav">
<a
class="nav-link"
href="https://netbox.readthedocs.io/"
target="_blank"
>
<i class="mdi mdi-book-open-page-variant text-primary"></i> Docs
</a>
<a class="nav-link" href="{% url 'api_docs' %}" target="_blank">
<i class="mdi mdi-cloud-braces text-primary"></i> API
</a>
<a
class="nav-link"
href="https://github.com/netbox-community/netbox"
target="_blank"
>
<i class="mdi mdi-xml text-primary"></i> Code
</a>
<a
class="nav-link"
href="https://github.com/netbox-community/netbox/wiki"
target="_blank"
>
<i class="mdi mdi-lifebuoy text-primary"></i> Help
</a>
</nav>
</div>
</div>
</div>
</footer>

View File

@ -1,81 +1,124 @@
{# Base layout for the core NetBox UI w/navbar and page content #}
{% extends 'base.html' %} {% extends 'base.html' %}
{% load nav %}
{% load search_options %} {% load search_options %}
{% load static %}
{% block head %}{% endblock %}
{% block layout %} {% block layout %}
<div class="container-fluid"> <div class="container-fluid">
<div class="row"> <div class="row">
<main class="col-md-9 ms-sm-auto col-lg-10 px-0"> <main class="col-md-9 ms-sm-auto col-lg-10 px-0">
<nav id="sidebar-menu" class="col-md-3 col-lg-2 d-md-block sidebar collapse px-0">
<div class="position-sticky pt-3"> {# Sidebar #}
<a class="px-2 sidebar-logo d-none d-md-flex" href="{% url 'home' %}"> <nav id="sidebar-menu" class="col-md-3 col-lg-2 d-md-block sidebar collapse px-0">
{% load static %}
{% include 'logo.html' %} {# Sidebar content #}
</a> <div class="position-sticky pt-3">
<ul class="nav flex-column">
<div class="d-block d-md-none mx-1 my-3 search-container"> {# Logo #}
{% search_options %} <a class="px-2 sidebar-logo d-none d-md-flex" href="{% url 'home' %}">
</div>
<div class="d-flex d-md-none mx-1 my-3 justify-content-end">
{% include './profile_button.html' %}
</div>
{% load nav %} {% nav %}
</ul>
</div>
{% include './bottom.html' %}
</nav>
<nav class="navbar navbar-light sticky-top flex-md-nowrap py-4 search container-fluid">
<div class="d-md-none w-100 d-flex justify-content-between align-items-center my-3">
<a class="px-2 sidebar-logo d-block d-md-none" href="{% url 'home' %}">
{% include 'logo.html' %} {% include 'logo.html' %}
</a> </a>
<button
type="button" {# Search bar #}
aria-expanded="false" <ul class="nav flex-column">
data-bs-toggle="collapse" <div class="d-block d-md-none mx-1 my-3 search-container">
aria-controls="sidebar-menu" {% search_options %}
data-bs-target="#sidebar-menu" </div>
aria-label="Toggle Navigation" <div class="d-flex d-md-none mx-1 my-3 justify-content-end">
class="navbar-toggler position-relative collapsed" {% include './profile_button.html' %}
> </div>
<span class="navbar-toggler-icon"></span> {% nav %}
</button> </ul>
</div>
<div class="d-none d-md-flex w-100 search-container">
{% search_options %}
{% include './profile_button.html' %}
</div>
</nav>
<div class="px-4 content-container">
{% block title_container %}
<div class="title-container">
<div id="content-title">
<h1 class="h2 w-100">{% block title %}{% endblock %}</h1>
{% block breadcrumb_main %}{% endblock %}
</div> </div>
{% block controls %}{% endblock %} {# Sidebar footer #}
</div> <div class="d-flex flex-column container-fluid mt-auto justify-content-end sidebar-bottom">
{% endblock %} <nav class="nav justify-content-between mb-2 mt-4 px-2">
<div id="content" class="container-fluid p-0 m-0">
{% block tabs %}{% endblock %} {# Documentation #}
{% block content %}{% endblock %} <a type="button" target="_blank" class="nav-link" href="https://netbox.readthedocs.io/">
</div> <i title="Docs" class="mdi mdi-book-open-variant text-primary" data-bs-placement="top" data-bs-toggle="tooltip"></i>
<footer class="footer container-fluid pb-3 pt-4 px-0"> </a>
<div class="row align-items-center justify-content-end">
<div class="col-auto d-none d-md-block"></div> {# API docs #}
<div class="col text-center text-md-end small text-muted"> <a class="nav-link" href="{% url 'api_docs' %}" target="_blank">
<span class="fw-light d-block d-md-inline">{% now 'Y-m-d H:i:s T' %}</span> <i title="API" data-bs-placement="top" data-bs-toggle="tooltip" class="mdi mdi-code-braces text-primary"></i>
<span class="ms-md-3 d-block d-md-inline">{{ settings.HOSTNAME }} (v{{ settings.VERSION }})</span> </a>
</div>
{# GitHub #}
<a class="nav-link" href="https://github.com/netbox-community/netbox" target="_blank">
<i title="Source Code" data-bs-placement="top" data-bs-toggle="tooltip" class="mdi mdi-code-tags text-primary"></i>
</a>
{# GitHub wiki #}
<a target="_blank" class="nav-link" href="https://github.com/netbox-community/netbox/wiki">
<i title="Get Help" data-bs-placement="top" data-bs-toggle="tooltip" class="mdi mdi-lifebuoy text-primary"></i>
</a>
</nav>
</div> </div>
</footer>
</div> </nav>
</main>
{# Top bar #}
<nav class="navbar navbar-light sticky-top flex-md-nowrap py-4 search container-fluid">
<div class="d-md-none w-100 d-flex justify-content-between align-items-center my-3">
<a class="px-2 sidebar-logo d-block d-md-none" href="{% url 'home' %}">
{% include 'logo.html' %}
</a>
<button
type="button"
aria-expanded="false"
data-bs-toggle="collapse"
aria-controls="sidebar-menu"
data-bs-target="#sidebar-menu"
aria-label="Toggle Navigation"
class="navbar-toggler position-relative collapsed"
>
<span class="navbar-toggler-icon"></span>
</button>
</div>
<div class="d-none d-md-flex w-100 search-container">
{% search_options %}
{% include './profile_button.html' %}
</div>
</nav>
{# Body #}
<div class="px-4 content-container">
{# Page title #}
{% block title_container %}
<div class="title-container">
<div id="content-title">
<h1 class="h2 w-100">{% block title %}{% endblock %}</h1>
{% block breadcrumb_main %}{% endblock %}
</div>
{% block controls %}{% endblock %}
</div>
{% endblock %}
{# Page content #}
<div id="content" class="container-fluid p-0 m-0">
{% block tabs %}{% endblock %}
{% block content %}{% endblock %}
</div>
{# Page footer #}
<footer class="footer container-fluid pb-3 pt-4 px-0">
<div class="row align-items-center justify-content-end">
<div class="col-auto d-none d-md-block"></div>
<div class="col text-center text-md-end small text-muted">
<span class="fw-light d-block d-md-inline">{% now 'Y-m-d H:i:s T' %}</span>
<span class="ms-md-3 d-block d-md-inline">{{ settings.HOSTNAME }} (v{{ settings.VERSION }})</span>
</div>
</div>
</footer>
</div>
</main>
</div>
</div> </div>
</div>
{% endblock %} {% endblock %}
{% block javascript %}{% endblock %}
{% block data %}{% endblock %}