improving navigation on mediumish jekyll blog
Why Navigation Matters
Effective navigation is essential for retaining readers and improving the overall usability of your blog. A Mediumish Jekyll blog, though minimal by default, can benefit greatly from thoughtful navigation enhancements that improve content discoverability and user engagement.
Core Navigation Components in Mediumish
- Top navbar (usually includes links to Home, About, Contact, etc.)
- Post-to-post navigation at the end of each article
- Category and tag links for grouping content
- Pagination on index pages
Strategies for Improving Blog Navigation
1. Add a Sticky Top Navbar
Keeping the navbar fixed at the top improves access to major sections as users scroll through long articles.
- Edit
_includes/header.html - Add a
position: sticky;orposition: fixed;CSS rule - Ensure mobile responsiveness by using media queries
2. Enable Post-to-Post Navigation
Guide readers to the next or previous post with simple navigation links at the bottom of each article:
{% if page.previous %}
<a href="{{ page.previous.url }}">← {{ page.previous.title }}</a>
{% endif %}
{% if page.next %}
<a href="{{ page.next.url }}">{{ page.next.title }} →</a>
{% endif %}
Add this inside _layouts/post.html under the article content area.
3. Build a Category-Based Navigation
Group your blog posts by category for easier exploration:
- Create a
category.htmllayout - Use
site.categoriesto loop and display categories in the sidebar - Add category links to the navbar for high-traffic sections
4. Add a Search Function
Improve content accessibility with a client-side search engine:
- Use Simple Jekyll Search plugin
- Generate a
search.jsonfile from your posts - Integrate the search input in your navbar or sidebar
5. Create a Mega Menu or Dropdown
If your site has many categories or sections, use a dropdown menu to organize links effectively:
- Use nested
<ul>lists in_includes/header.html - Style with CSS to show submenus on hover or click
6. Related Posts Section
Guide readers to relevant content based on category, tags, or manual curation:
- Use a related posts loop filtered by category or tag
- Place the section under each article in
post.html - Style it with cards or thumbnails to enhance visibility
7. Breadcrumb Navigation
Add breadcrumb trails to show users their location within your blog hierarchy:
- Implement using Liquid logic to reflect category → post relationships
- Add links back to home and categories
8. Sidebar Navigation Widgets
Use sidebars to display:
- Recent posts
- Popular posts (manually curated or based on time on site via analytics)
- Tags cloud
- Categories list
Edit _includes/sidebar.html to insert and customize these widgets.
Case Study: Adding a Dropdown Menu
Let’s walk through adding a basic dropdown to your navigation menu:
- Open
_includes/header.html - Add a parent link like “Topics” with a nested list of categories
- Style the nested list with CSS to appear on hover
- Test on desktop and mobile for touch compatibility
Bonus: Scroll-To-Top Button
Add a floating button to help users return to the top of the page:
- Add HTML for the button in
_layouts/default.html - Use JavaScript to show/hide the button on scroll
- Smooth scroll with CSS or JS on click
Testing Your Navigation
Once custom navigation features are added:
- Check usability on mobile and tablet devices
- Ensure accessibility (keyboard navigation, ARIA attributes)
- Test in different browsers for layout consistency
Summary
Improving navigation on your Mediumish Jekyll blog is a high-impact upgrade. With strategic enhancements like sticky menus, category links, and related posts, you can dramatically improve content discoverability and retention. Start with simple updates and iterate based on reader feedback and analytics data.
