Posts

Showing posts with the label github-pages

automated navigation menus from data files

Why Manual Navigation Is a Problem As your documentation grows in scale and complexity, manually updating navigation menus becomes error-prone and time-consuming. Every time you add a new page or rename a section, you must update multiple navigation structures, often across several files or versions. This redundancy is a breeding ground for inconsistency. To solve this, Jekyll allows the use of YAML data files to drive content generation dynamically. This enables you to define navigation structures once and reuse them across multiple versions, templates, or layouts. Setting Up Data-Driven Navigation Step 1: Create a Data File Create a new file called _data/navigation.yml in your Jekyll root. Here's a basic structure: v1: - title: Getting Started url: /v1/getting-started/ - title: API Reference url: /v1/api/ v2: - title: Introduction url: /v2/introduction/ - title: Usage url: /v2/usage/ - title: API Reference url: /v2/api/ This organize...

automated navigation menus from data files

Why Manual Navigation Is a Problem As your documentation grows in scale and complexity, manually updating navigation menus becomes error-prone and time-consuming. Every time you add a new page or rename a section, you must update multiple navigation structures, often across several files or versions. This redundancy is a breeding ground for inconsistency. To solve this, Jekyll allows the use of YAML data files to drive content generation dynamically. This enables you to define navigation structures once and reuse them across multiple versions, templates, or layouts. Setting Up Data-Driven Navigation Step 1: Create a Data File Create a new file called _data/navigation.yml in your Jekyll root. Here's a basic structure: v1: - title: Getting Started url: /v1/getting-started/ - title: API Reference url: /v1/api/ v2: - title: Introduction url: /v2/introduction/ - title: Usage url: /v2/usage/ - title: API Reference url: /v2/api/ This organize...

versioned documentation with jekyll collections

Why Documentation Versioning Matters As software evolves, so does its documentation. Managing different versions of your docs is essential, especially when older versions remain in use. A versioning system allows users to view instructions that apply specifically to the version they’re using, reducing confusion and improving support quality. Fortunately, Jekyll provides tools like collections and Liquid templating that make versioned documentation easy to manage—even in static environments like GitHub Pages. Common Approaches to Versioning Before jumping into implementation, consider the main ways documentation is versioned: Directory-based versioning : /v1/ , /v2/ Subdomain-based versioning : v1.example.com Query parameter-based versioning : ?version=2.0 (not recommended for static sites) We’ll focus on the first approach—directory-based versioning—since it fits seamlessly into Jekyll and GitHub Pages. Setting Up Collections Per Version Step 1: Define Collec...

enable full-site search in jekyll using lunr

The Importance of Search in Documentation Sites As your documentation grows, even the best structured navigation can’t replace a powerful search feature. A search bar provides users with a direct path to what they’re looking for—especially in technical documentation where concepts are spread across pages. In static sites like Jekyll on GitHub Pages, adding search requires a client-side solution since there’s no server to run queries. That’s where Lunr.js comes in. What Is Lunr.js? Lunr.js is a small, full-text search library written in JavaScript. It allows you to create an index of your site's content and search through it directly in the browser. Unlike third-party solutions like Algolia or Google Custom Search, Lunr is entirely static and privacy-respecting—ideal for documentation hosted on GitHub Pages. Benefits of Using Lunr.js No server or backend required Lightweight and open-source Works entirely on the client side Supports filtering, partial matches...

add user feedback to jekyll docs with giscus

Why Feedback Systems Matter in Documentation Even the most well-maintained documentation will eventually miss edge cases, misunderstandings, or outdated references. Allowing users to provide feedback ensures your documentation evolves to meet real needs. But in static site setups like Jekyll on GitHub Pages, traditional comment systems are either bloated or unavailable. Fortunately, modern tools like Giscus and GitHub Discussions offer a solution that fits seamlessly into static workflows. Choosing the Right Feedback Mechanism Issues With Traditional Comment Systems Disqus requires external scripts and ads unless you pay for it. Staticman requires a backend service and is difficult to maintain. Form services like Google Forms feel disjointed from the documentation UX. Benefits of Giscus Uses GitHub Discussions behind the scenes. Stores comments directly in your repository’s discussion board. No backend required – just a GitHub account and a public re...

auto changelog integration for jekyll docs

Why Automated Changelogs Matter in Documentation Keeping documentation up to date is a fundamental part of any software or technical project. However, users and contributors often miss important updates if there's no clear changelog or update history. A manual changelog can be tedious to maintain and easy to forget. This is where automated changelogs come into play. By integrating changelogs into your Jekyll-powered documentation site hosted on GitHub Pages, you provide your users with a transparent and always-fresh update trail. In this guide, we’ll explore how to build a fully automated changelog system using GitHub Actions, data files, and Liquid in Jekyll. You’ll learn how to generate change records dynamically from Git commits or pull requests and present them in a user-friendly interface on your documentation site. Core Concepts Behind the Automated Changelog Versioning vs Changelogs Versioning refers to the state of your software or documentation at a particular ...

search integration with lunr in jekyll

Why Add Search to Jekyll Documentation As your documentation grows, users may struggle to locate specific pages or keywords using only the navigation menu. By adding a search feature, you improve usability, discovery, and user retention. Since GitHub Pages doesn't support server-side scripts, the solution must run entirely on the client. Lunr.js is a compact search engine built in JavaScript designed for static sites like Jekyll. What is Lunr.js Lunr is a JavaScript-based full-text search library that allows you to build an index of your content and search through it directly in the browser. It works offline, doesn’t require server processing, and gives lightning-fast results even for hundreds of pages. Step 1: Create a Search Index First, create a JSON index of your content. This file will be consumed by Lunr in the browser. The simplest way is to generate it with a custom Jekyll layout or page. File: search.json Add this to your Jekyll project root. {% raw %} --- l...

Archives / All Content


© MintTagReach🕒😃😃😃 . All rights reserved.