feat: add search modal

This commit is contained in:
mostafaei2002 2024-05-14 10:11:07 +03:30
parent 44dd71c7c7
commit 4106ff080b
2 changed files with 174 additions and 124 deletions

View File

@ -1,15 +1,19 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<title>{% if page.title %}{{ page.title }} - {% endif %}{{ config.site_name }}</title>
<link href="{{ 'img/favicon.ico'|url }}" rel="icon" type="image/x-icon">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta charset="utf-8" />
<title>
{% if page.title %}{{ page.title }} - {% endif %}{{ config.site_name }}
</title>
<link href="{{ 'img/favicon.ico'|url }}" rel="icon" type="image/x-icon" />
<link rel="canonical" href="{{ page.canonical_url|url }}" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Django, API, REST{% if page %}, {{ page.title }}{% endif %}">
<meta name="author" content="Tom Christie">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta
name="description"
content="Django, API, REST{% if page %}, {{ page.title }}{% endif %}"
/>
<meta name="author" content="Tom Christie" />
<!-- Le styles -->
<!-- <link href="{{ 'css/prettify.css'|url }}" rel="stylesheet">
@ -17,20 +21,22 @@
<link href="{{ 'css/bootstrap-responsive.css'|url }}" rel="stylesheet">
<link href="{{ 'css/default.css'|url }}" rel="stylesheet"> -->
<link rel="stylesheet" href="{{ 'css/bootstrap5.css'|url }}">
<link rel="stylesheet" href="{{ 'css/bootstrap5.css'|url }}" />
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-18852272-2']);
_gaq.push(['_trackPageview']);
_gaq.push(["_setAccount", "UA-18852272-2"]);
_gaq.push(["_trackPageview"]);
(function () {
var ga = document.createElement('script');
ga.type = 'text/javascript';
var ga = document.createElement("script");
ga.type = "text/javascript";
ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0];
ga.src =
("https:" == document.location.protocol
? "https://ssl"
: "http://www") + ".google-analytics.com/ga.js";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(ga, s);
})();
</script>
@ -49,38 +55,72 @@
}
</style>
</head>
<body onload="prettyPrint()" class="{% if page and page.is_homepage %}index{% endif %}-page">
<body
onload="prettyPrint()"
class="{% if page and page.is_homepage %}index{% endif %}-page"
>
<div class="wrapper">
{% include "nav.html" %}
<div class="body-content">
<div class="container-fluid">
<!-- Search Modal -->
<div id="mkdocs_search_modal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div
class="modal fade"
id="mkdocs_search_modal"
tabindex="-1"
aria-labelledby="searchModal"
aria-hidden="true"
>
<div
class="modal-dialog modal-dialog-centered modal-dialog-scrollable"
>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3 id="myModalLabel">Documentation search</h3>
<h3 class="modal-title fs-5" id="search_modal_label">
Documentation Search
</h3>
<button
type="button"
class="btn-close"
data-bs-dismiss="modal"
aria-label="Close"
></button>
</div>
<div class="modal-body">
<form role="form" autocomplete="off">
<div class="form-group">
<input type="text" name="q" class="form-control" placeholder="Search..." id="mkdocs-search-query">
<input
type="text"
name="q"
class="form-control"
placeholder="Search..."
id="mkdocs-search-query"
/>
</div>
</form>
<div id="mkdocs-search-results"></div>
<div id="mkdocs-search-results" class="mt-3"></div>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button
type="button"
class="btn btn-secondary"
data-bs-dismiss="modal"
>
Close
</button>
</div>
</div>
</div>
</div>
<!-- Modal End -->
<div class="row-fluid">
<div class="span3">
<div id="table-of-contents">
<ul class="nav nav-list side-nav well sidebar-nav-fixed">
<!-- <ul class="nav nav-list side-nav well sidebar-nav-fixed">
{% if page and page.is_homepage %}
<li class="main">
<a href="#">Django REST framework</a>
@ -103,33 +143,35 @@
{% if page.toc %}<hr/>{% endif %}
<div id="sidebarInclude">
</div>
</ul>
</ul> -->
</div>
</div>
<div id="main-content" class="span9">
{% block content %}
{% if page.meta.source %}
{% for filename in page.meta.source %}
<a class="github" href="https://github.com/encode/django-rest-framework/tree/master/rest_framework/{{ filename }}">
{% block content %} {% if page.meta.source %} {% for filename in
page.meta.source %}
<a
class="github"
href="https://github.com/encode/django-rest-framework/tree/master/rest_framework/{{ filename }}"
>
<span class="label label-info">{{ filename }}</span>
</a>
{% endfor %}
{% endif %}
{{ page.content }}
{% endblock %}
</div> <!--/span-->
</div> <!--/row-->
</div> <!--/.fluid-container-->
</div> <!--/.body content-->
{% endfor %} {% endif %} {{ page.content }} {% endblock %}
</div>
<!--/span-->
</div>
<!--/row-->
</div>
<!--/.fluid-container-->
</div>
<!--/.body content-->
<div id="push"></div>
</div> <!--/.wrapper -->
</div>
<!--/.wrapper -->
<footer class="span12">
<p>Documentation built with <a href="http://www.mkdocs.org/">MkDocs</a>.
<p>
Documentation built with <a href="http://www.mkdocs.org/">MkDocs</a>.
</p>
</footer>
@ -142,7 +184,9 @@
<script src="{{ 'js/bootstrap-2.1.1-min.js'|url }}"></script>
<script src="{{ 'js/theme.js'|url }}"></script> -->
<script>var base_url = '{{ base_url }}';</script>
<script>
var base_url = "{{ base_url }}";
</script>
<script src="{{ 'js/bootstrap5.bundle.js'|url }}"></script>
@ -152,25 +196,30 @@
<script>
var shiftWindow = function () {
scrollBy(0, -50)
scrollBy(0, -50);
};
if (location.hash) shiftWindow();
window.addEventListener("hashchange", shiftWindow);
$('.dropdown-menu').on('click touchstart', function(event) {
$(".dropdown-menu").on("click touchstart", function (event) {
event.stopPropagation();
});
// Dynamically force sidenav/dropdown to no higher than browser window
$('.side-nav, .dropdown-menu').css('max-height', window.innerHeight - 130);
$(".side-nav, .dropdown-menu").css(
"max-height",
window.innerHeight - 130
);
$(function () {
$(window).resize(function () {
$('.side-nav, .dropdown-menu').css('max-height', window.innerHeight - 130);
$(".side-nav, .dropdown-menu").css(
"max-height",
window.innerHeight - 130
);
});
});
</script>
</body>
</html>

View File

@ -140,15 +140,16 @@
{% endif %}
<div class="d-flex gap-2">
<a
id="search_modal_btn"
<button
type="button"
id="search_modal_show"
class="btn btn-sm btn-secondary"
href="#search_modal"
href="#mkdocs_search_modal"
data-bs-toggle="modal"
data-bs-target="#search_modal"
data-bs-target="#mkdocs_search_modal"
>
Search
</a>
</button>
<!-- prettier-ignore -->
<a
{% if page.previous_page %}href="{{ page.previous_page.url|url }}"{% endif %}