README
jquery.breadcrumbs-generator
jQuery plugin to generate breadcrumb list automatically from sitemap.
If you can use server-side language (e.g. PHP, Ruby, Perl), you don't need this plugin.
Demo
https://sutara79.github.io/jquery.breadcrumbs-generator
Install
- GitHub: Clone or download. Only you need is
dist/
. - npm:
npm i jquery.breadcrumbs-generator
- CDN (jsDelivr):
- jquery.breadcrumbs-generator.min.js: v1.0.3
Usage
<head>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="jquery.breadcrumbs-generator.min.js"></script>
<script>
$(function() {
$('#breadcrumbs').breadcrumbsGenerator();
});
</script>
<body>
<ol id="breadcrumbs"></ol>
<ul id="sitemaps">
<li>
<a href="index.html">Home</a>
<ul>
<li><a href="menu1.html">Menu1</a></li>
<li><a href="menu2.html">Menu2</a></li>
<li><a href="menu3.html">Menu3</a></li>
</ul>
</li>
</ul>
CSS
#breadcrumbs li {
display: inline-block;
}
#breadcrumbs li:not(:first-child) {
margin-left: 0.4em;
}
#breadcrumbs li:not(:first-child):before {
content: '>';
margin-right: 0.4em;
}
Note
Breadcrumbs structure
This plugin creates like <li><a href="#">foo</a></li>
.
So, you should use <ol>
or <ul>
for breadcrumbs.
Sitemaps structure
This plugin searches for current-page and its ancestors in href-attributes of the sitemaps.
So, you don't use href-attribute for other purpose in the sitemaps.
How to move the home-link to the list of breadcrumbs
If you use #sitemaps
as a global-navi, and don't need the home-link, you can also move it to #breadcrumbs
.
<ol id="breadcrumbs"><li><a href="index.html">Home</a></li></ol>
<ul id="sitemaps">
<li><a href="menu1.html">Menu1</a></li>
<li><a href="menu2.html">Menu2</a></li>
<li><a href="menu3.html">Menu3</a></li>
</ul>
Options
You can set options like followings.
$('#breadcrumbs').breadcrumbsGenerator({
sitemaps: '#sitemaps',
index_type: 'index.html'
});
Name | Type | Default | Description |
---|---|---|---|
sitemaps | string | '#sitemaps' | jQuery selector for sitemap |
index_type | string | 'index.html' | Filename of directory index. This is for when the requested url is a directory (e.g. example.com/ ), not a file (e.g. example.com/index.html ). |
Compatibility
- jQuery: >=3.0.0 (because of XSS vulnerability)
- Browser: Chrome58, Firefox53, IE11, Edge14