mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-06 05:20:12 +03:00
Setup new docs layout
This commit is contained in:
parent
0b0a55c9a0
commit
f65b80849a
|
@ -1,287 +1,194 @@
|
||||||
body {
|
body {
|
||||||
padding-top: 70px;
|
overflow-x: hidden;
|
||||||
background-color: #f8f8f8;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
body > div.container {
|
/* Toggle Styles */
|
||||||
min-height: 400px;
|
|
||||||
|
#wrapper {
|
||||||
|
padding-left: 0;
|
||||||
|
-webkit-transition: all 0.5s ease;
|
||||||
|
-moz-transition: all 0.5s ease;
|
||||||
|
-o-transition: all 0.5s ease;
|
||||||
|
transition: all 0.5s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.nav li.main {
|
#wrapper.toggled {
|
||||||
font-weight: bold;
|
padding-left: 250px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.col-md-3 {
|
#sidebar-wrapper {
|
||||||
|
z-index: 1000;
|
||||||
|
position: fixed;
|
||||||
|
left: 250px;
|
||||||
|
width: 0;
|
||||||
|
height: 100%;
|
||||||
|
margin-left: -250px;
|
||||||
|
overflow-y: auto;
|
||||||
|
background: #F7F7F9;
|
||||||
|
-webkit-transition: all 0.5s ease;
|
||||||
|
-moz-transition: all 0.5s ease;
|
||||||
|
-o-transition: all 0.5s ease;
|
||||||
|
transition: all 0.5s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
#wrapper.toggled #sidebar-wrapper {
|
||||||
|
width: 250px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page-content-wrapper {
|
||||||
|
width: 100%;
|
||||||
|
position: absolute;
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#wrapper.toggled #page-content-wrapper {
|
||||||
|
position: absolute;
|
||||||
|
margin-right: -250px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Sidebar Styles */
|
||||||
|
|
||||||
|
.sidebar-nav {
|
||||||
|
// position: absolute;
|
||||||
|
// top: 0;
|
||||||
|
width: 250px;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-nav li {
|
||||||
|
text-indent: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-nav li a {
|
||||||
|
display: block;
|
||||||
|
text-decoration: none;
|
||||||
|
color: #999999;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-nav li a:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
background: rgba(255,255,255,0.9);
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-nav li a:active,
|
||||||
|
.sidebar-nav li a:focus {
|
||||||
|
border: 0;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-wrapper > .sidebar-brand {
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media(min-width:768px) {
|
||||||
|
#wrapper {
|
||||||
|
padding-left: 250px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#wrapper.toggled {
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.col-md-9 {
|
#sidebar-wrapper {
|
||||||
padding-bottom: 100px;
|
width: 250px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.source-links {
|
#wrapper.toggled #sidebar-wrapper {
|
||||||
float: right;
|
width: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.col-md-9 img {
|
#page-content-wrapper {
|
||||||
max-width: 100%;
|
padding: 20px;
|
||||||
display: inline;
|
|
||||||
padding: 4px;
|
|
||||||
line-height: 1.428571429;
|
|
||||||
background-color: #fff;
|
|
||||||
border: 1px solid #ddd;
|
|
||||||
border-radius: 4px;
|
|
||||||
margin: 20px auto 30px auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1, h2, h3 {
|
|
||||||
color: #444;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1[id]:before, h2[id]:before, h3[id]:before, h4[id]:before, h5[id]:before, h6[id]:before {
|
|
||||||
content: "";
|
|
||||||
display: block;
|
|
||||||
margin-top: -75px;
|
|
||||||
height: 75px;
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
font-weight: 400;
|
|
||||||
font-size: 42px;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2, h3, h4, h5, h6 {
|
|
||||||
font-weight: 300;
|
|
||||||
}
|
|
||||||
|
|
||||||
hr {
|
|
||||||
border-top: 1px solid #aaa;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre, .rst-content tt {
|
|
||||||
max-width: 100%;
|
|
||||||
background: #fff;
|
|
||||||
border: solid 1px #e1e4e5;
|
|
||||||
color: #e74c3c;
|
|
||||||
overflow-x: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
code.code-large, .rst-content tt.code-large {
|
|
||||||
font-size: 90%;
|
|
||||||
}
|
|
||||||
|
|
||||||
code {
|
|
||||||
padding: 2px 5px;
|
|
||||||
color: #c7254e;
|
|
||||||
background-color: #f9f2f4;
|
|
||||||
font-size: 75%;
|
|
||||||
}
|
|
||||||
|
|
||||||
code, kbd, pre, samp {
|
|
||||||
font-family: monospace,serif;
|
|
||||||
font-size: 12px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
footer {
|
|
||||||
margin-top: 30px;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
text-align: center;
|
|
||||||
font-weight: 200;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal-dialog {
|
|
||||||
margin-top: 60px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Side navigation
|
|
||||||
*
|
|
||||||
* Scrollspy and affixed enhanced navigation to highlight sections and secondary
|
|
||||||
* sections of docs content.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* By default it's not affixed in mobile views, so undo that */
|
|
||||||
.bs-sidebar.affix {
|
|
||||||
position: static;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bs-sidebar.well {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* First level of nav */
|
|
||||||
.bs-sidenav {
|
|
||||||
padding-top: 10px;
|
|
||||||
padding-bottom: 10px;
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* All levels of nav */
|
|
||||||
.bs-sidebar .nav > li > a {
|
|
||||||
display: block;
|
|
||||||
padding: 5px 20px;
|
|
||||||
z-index: 1;
|
|
||||||
}
|
|
||||||
.bs-sidebar .nav > li > a:hover,
|
|
||||||
.bs-sidebar .nav > li > a:focus {
|
|
||||||
text-decoration: none;
|
|
||||||
border-right: 1px solid;
|
|
||||||
}
|
|
||||||
.bs-sidebar .nav > .active > a,
|
|
||||||
.bs-sidebar .nav > .active:hover > a,
|
|
||||||
.bs-sidebar .nav > .active:focus > a {
|
|
||||||
font-weight: bold;
|
|
||||||
background-color: transparent;
|
|
||||||
border-right: 1px solid;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Nav: second level (shown on .active) */
|
|
||||||
.bs-sidebar .nav .nav {
|
|
||||||
display: none; /* Hide by default, but at >768px, show it */
|
|
||||||
margin-bottom: 8px;
|
|
||||||
}
|
|
||||||
.bs-sidebar .nav .nav > li > a {
|
|
||||||
padding-top: 3px;
|
|
||||||
padding-bottom: 3px;
|
|
||||||
padding-left: 30px;
|
|
||||||
font-size: 90%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Show and affix the side nav when space allows it */
|
|
||||||
@media (min-width: 992px) {
|
|
||||||
.bs-sidebar .nav > .active > ul {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
/* Widen the fixed sidebar */
|
|
||||||
.bs-sidebar.affix,
|
|
||||||
.bs-sidebar.affix-bottom {
|
|
||||||
width: 213px;
|
|
||||||
}
|
|
||||||
.bs-sidebar.affix {
|
|
||||||
position: fixed; /* Undo the static from mobile first approach */
|
|
||||||
top: 80px;
|
|
||||||
}
|
|
||||||
.bs-sidebar.affix-bottom {
|
|
||||||
position: absolute; /* Undo the static from mobile first approach */
|
|
||||||
}
|
|
||||||
.bs-sidebar.affix-bottom .bs-sidenav,
|
|
||||||
.bs-sidebar.affix .bs-sidenav {
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// @media (min-width: 1200px) {
|
|
||||||
// /* Widen the fixed sidebar again */
|
|
||||||
// .bs-sidebar.affix-bottom,
|
|
||||||
// .bs-sidebar.affix {
|
|
||||||
// width: 263px;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
.headerlink {
|
|
||||||
font-family: FontAwesome;
|
|
||||||
font-size: 14px;
|
|
||||||
display: none;
|
|
||||||
padding-left: .5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .headerlink, h5:hover .headerlink, h6:hover .headerlink{
|
|
||||||
display:inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.admonition {
|
|
||||||
padding: 15px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
border-radius: 4px;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.note {
|
|
||||||
color: #3a87ad;
|
|
||||||
background-color: #d9edf7;
|
|
||||||
border-color: #bce8f1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.warning {
|
|
||||||
color: #c09853;
|
|
||||||
background-color: #fcf8e3;
|
|
||||||
border-color: #fbeed5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition.danger {
|
|
||||||
color: #b94a48;
|
|
||||||
background-color: #f2dede;
|
|
||||||
border-color: #eed3d7;
|
|
||||||
}
|
|
||||||
|
|
||||||
.admonition-title {
|
|
||||||
font-weight: bold;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.dropdown-submenu {
|
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown-submenu>.dropdown-menu {
|
#wrapper.toggled #page-content-wrapper {
|
||||||
top: 0;
|
position: relative;
|
||||||
left: 100%;
|
margin-right: 0;
|
||||||
margin-top: -6px;
|
|
||||||
margin-left: -1px;
|
|
||||||
-webkit-border-radius: 0 6px 6px 6px;
|
|
||||||
-moz-border-radius: 0 6px 6px;
|
|
||||||
border-radius: 0 6px 6px 6px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown-submenu:hover>.dropdown-menu {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dropdown-submenu>a:after {
|
|
||||||
display: block;
|
|
||||||
content: " ";
|
|
||||||
float: right;
|
|
||||||
width: 0;
|
|
||||||
height: 0;
|
|
||||||
border-color: transparent;
|
|
||||||
border-style: solid;
|
|
||||||
border-width: 5px 0 5px 5px;
|
|
||||||
border-left-color: #ccc;
|
|
||||||
margin-top: 5px;
|
|
||||||
margin-right: -10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dropdown-submenu:hover>a:after {
|
|
||||||
border-left-color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dropdown-submenu.pull-left {
|
|
||||||
float: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dropdown-submenu.pull-left>.dropdown-menu {
|
|
||||||
left: -100%;
|
|
||||||
margin-left: 10px;
|
|
||||||
-webkit-border-radius: 6px 0 6px 6px;
|
|
||||||
-moz-border-radius: 6px 0 6px 6px;
|
|
||||||
border-radius: 6px 0 6px 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre.highlight code {
|
|
||||||
white-space: pre;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* @group Code Samples */
|
|
||||||
|
|
||||||
.code-samples {
|
|
||||||
padding-top: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* @end Code Samples */
|
|
||||||
|
|
||||||
|
|
||||||
|
// body {
|
||||||
|
// // padding-top: 70px;
|
||||||
|
// background-color: #f8f8f8;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// ul.nav li.main {
|
||||||
|
// font-weight: bold;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// div.source-links {
|
||||||
|
// float: right;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// h1, h2, h3 {
|
||||||
|
// color: #444;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// h1 {
|
||||||
|
// font-weight: 400;
|
||||||
|
// font-size: 42px;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// h2, h3, h4, h5, h6 {
|
||||||
|
// font-weight: 300;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// hr {
|
||||||
|
// border-top: 1px solid #aaa;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// pre, .rst-content tt {
|
||||||
|
// max-width: 100%;
|
||||||
|
// background: #fff;
|
||||||
|
// border: solid 1px #e1e4e5;
|
||||||
|
// color: #e74c3c;
|
||||||
|
// overflow-x: auto;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// code.code-large, .rst-content tt.code-large {
|
||||||
|
// font-size: 90%;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// code {
|
||||||
|
// padding: 2px 5px;
|
||||||
|
// color: #c7254e;
|
||||||
|
// background-color: #f9f2f4;
|
||||||
|
// font-size: 75%;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// code, kbd, pre, samp {
|
||||||
|
// font-family: monospace,serif;
|
||||||
|
// font-size: 12px !important;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// footer {
|
||||||
|
// margin-top: 30px;
|
||||||
|
// margin-bottom: 10px;
|
||||||
|
// text-align: center;
|
||||||
|
// font-weight: 200;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// pre.highlight code {
|
||||||
|
// white-space: pre;
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
// /* @group Code Samples */
|
||||||
|
|
||||||
|
// .code-samples {
|
||||||
|
// padding-top: 20px;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// /* @end Code Samples */
|
||||||
|
|
File diff suppressed because one or more lines are too long
11
rest_framework/static/rest_framework/docs/css/bootstrap-theme.min.css
vendored
Normal file
11
rest_framework/static/rest_framework/docs/css/bootstrap-theme.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
6
rest_framework/static/rest_framework/docs/css/bootstrap.min.css
vendored
Normal file
6
rest_framework/static/rest_framework/docs/css/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
7
rest_framework/static/rest_framework/docs/js/bootstrap.min.js
vendored
Normal file
7
rest_framework/static/rest_framework/docs/js/bootstrap.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
|
@ -1,11 +1,4 @@
|
||||||
{% load rest_framework %}
|
{% load rest_framework %}
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<h1 id="document-title">{{ document.title }}</h1>
|
|
||||||
<p>{% render_markdown document.description %}</p>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% for section_key, section in document.data.items %}
|
{% for section_key, section in document.data.items %}
|
||||||
<h1 id="{{ section_key }}" class="coredocs-section">{{ section_key }}</h1>
|
<h1 id="{{ section_key }}" class="coredocs-section">{{ section_key }}</h1>
|
||||||
|
|
|
@ -8,7 +8,8 @@
|
||||||
|
|
||||||
<title>{{ document.title }}</title>
|
<title>{{ document.title }}</title>
|
||||||
|
|
||||||
<link href="{% static 'rest_framework/docs/css/bootstrap-custom.min.css' %}" rel="stylesheet">
|
<link href="{% static 'rest_framework/docs/css/bootstrap.min.css' %}" rel="stylesheet">
|
||||||
|
<link href="{% static 'rest_framework/docs/css/bootstrap-theme.min.css' %}" rel="stylesheet">
|
||||||
<link href="{% static 'rest_framework/docs/css/font-awesome-4.0.3.css' %}" rel="stylesheet">
|
<link href="{% static 'rest_framework/docs/css/font-awesome-4.0.3.css' %}" rel="stylesheet">
|
||||||
<link href="{% static 'rest_framework/docs/css/base.css' %}" rel="stylesheet">
|
<link href="{% static 'rest_framework/docs/css/base.css' %}" rel="stylesheet">
|
||||||
<style>{{ code_style }}</style>
|
<style>{{ code_style }}</style>
|
||||||
|
@ -23,21 +24,43 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<script src="https://unpkg.com/coreapi@0.0.17/dist/coreapi.js"></script>
|
<script src="https://unpkg.com/coreapi@0.0.18/dist/coreapi.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
{% include "rest_framework/docs/nav.html" %}
|
<div id="wrapper">
|
||||||
|
|
||||||
|
{% include "rest_framework/docs/sidebar.html" %}
|
||||||
|
|
||||||
|
<!-- Page Content -->
|
||||||
|
<div id="page-content-wrapper">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="col-md-2">{% include "rest_framework/docs/toc.html" %}</div>
|
<div class="row">
|
||||||
<div class="col-md-10" role="main">{% include "rest_framework/docs/document.html" %}</div>
|
<div class="col-lg-12">
|
||||||
|
<a href="#menu-toggle" class="btn btn-default" id="menu-toggle">Toggle Menu</a>
|
||||||
|
{% include "rest_framework/docs/document.html" %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /#page-content-wrapper -->
|
||||||
|
|
||||||
|
<!-- <div class="container-fluid">
|
||||||
|
<div class="col-md-2">include "rest_framework/docs/toc.html" </div>
|
||||||
|
<div class="col-md-10" role="main">include "rest_framework/docs/document.html</div>
|
||||||
|
</div>
|
||||||
|
-->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="{% static 'rest_framework/docs/js/jquery-1.10.2.min.js' %}"></script>
|
<script src="{% static 'rest_framework/docs/js/jquery-1.10.2.min.js' %}"></script>
|
||||||
<script src="{% static 'rest_framework/docs/js/bootstrap-3.0.3.min.js' %}"></script>
|
<script src="{% static 'rest_framework/docs/js/bootstrap.min.js' %}"></script>
|
||||||
<script>
|
<script>
|
||||||
|
$("#menu-toggle").click(function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
$("#wrapper").toggleClass("toggled");
|
||||||
|
});
|
||||||
|
|
||||||
function getCookie(name) {
|
function getCookie(name) {
|
||||||
var cookieValue = null;
|
var cookieValue = null;
|
||||||
if (document.cookie && document.cookie !== '') {
|
if (document.cookie && document.cookie !== '') {
|
||||||
|
|
22
rest_framework/templates/rest_framework/docs/sidebar.html
Normal file
22
rest_framework/templates/rest_framework/docs/sidebar.html
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
<!-- Sidebar -->
|
||||||
|
<div id="sidebar-wrapper" class="sidebar-wrapper">
|
||||||
|
<h3 class="sidebar-brand"><a href="#document-title">{{ document.title }}</a></h3>
|
||||||
|
|
||||||
|
<ul class="nav nav-pills nav-stacked sidebar-nav">
|
||||||
|
{% for section_key, section in document.data.items %}
|
||||||
|
<li>
|
||||||
|
<a href="#{{ section_key }}">{{ section_key }}</a>
|
||||||
|
|
||||||
|
<!-- TOC -->
|
||||||
|
|
||||||
|
<ul class="nav nav-pills nav-stacked">
|
||||||
|
{% for link_key, link in section.links.items %}
|
||||||
|
<li><a href="#{{ section_key }}-{{ link_key }}">{{ link.title|default:link_key }}</a></li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- /#sidebar-wrapper -->
|
|
@ -1,17 +0,0 @@
|
||||||
<div id="toc" class="bs-sidebar hidden-print affix" role="complementary">
|
|
||||||
<ul class="nav bs-sidenav">
|
|
||||||
<li class="active">
|
|
||||||
<a href="#document-title">{{ document.title }}</a>
|
|
||||||
</li>
|
|
||||||
{% for section_key, section in document.data.items %}
|
|
||||||
<li>
|
|
||||||
<a href="#{{ section_key }}">{{ section_key }}</a>
|
|
||||||
<ul class="nav">
|
|
||||||
{% for link_key, link in section.links.items %}
|
|
||||||
<li><a href="#{{ section_key }}-{{ link_key }}">{{ link.title|default:link_key }}</a></li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
Loading…
Reference in New Issue
Block a user