docs

Hashtags
Edited: Saturday 9 May 2026

Hashtags

Hashtags provide flexible, non-hierarchical organization for your knowledge base. Tag pages with topics, themes, or categories, and XLog automatically creates browsable tag collections.

What Are Hashtags?

Hashtags in XLog work like social media tags - prefix any word with # to create a tag:

1This is about #machine-learning and #neural-networks.
2
3I'm exploring #golang and #web-development today.

XLog automatically:

  1. Makes hashtags clickable - Click to see all pages with that tag
  2. Creates tag pages - Aggregate pages by topic
  3. Shows tag counts - See how many pages use each tag

Syntax

Basic Hashtags

Simple one-word tags:

1#python #golang #javascript
2#learning #research #tutorial

Multi-Word Hashtags

Use hyphens for multi-word tags:

1#machine-learning
2#digital-gardening
3#personal-knowledge-management
4#web-development

Spaces don’t work in hashtags - use hyphens instead:

1#knowledge-base  ✅ Works
2#knowledge base  ❌ Only tags "knowledge"

Case Sensitivity

Hashtags are case-insensitive for matching:

1#MachineLearning
2#machine-learning
3#MACHINE-LEARNING

All three are treated as the same tag.

Using Hashtags

In Page Content

Add hashtags anywhere in your markdown:

1# My Research Notes
2
3Today I learned about #transformers in #natural-language-processing.
4
5The #attention-mechanism is key to understanding #bert and #gpt.
6
7Related: #machine-learning #deep-learning

In Frontmatter

You can also define tags in YAML frontmatter:

 1---
 2tags:
 3  - machine-learning
 4  - neural-networks  
 5  - research
 6---
 7
 8# Neural Network Architectures
 9
10Content here...

Both inline hashtags and frontmatter tags work together.

Multiple Tags

Tag with as many topics as relevant:

1# Building a Personal Wiki with XLog
2
3Notes on #xlog #digital-gardening #knowledge-management
4#markdown #static-site-generator #personal-wiki
5
6Tags: #golang #web-development #open-source

Browsing by Tag

Click Any Hashtag

Clicking a hashtag (like #machine-learning) takes you to a tag page showing:

  • All pages containing that tag
  • Page titles and excerpts
  • Tag count (number of tagged pages)

Example tag page:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#machine-learning (12 pages)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Neural Network Architectures
  Deep learning models for...

Introduction to Transformers
  Attention mechanisms and...

Supervised Learning Basics
  Classification and regression...

Tag Index

XLog can show all tags used across your knowledge base (if configured).

Both organize knowledge but serve different purposes:

Aspect Hashtags Backlinks
Purpose Categorization by topic Connection between specific ideas
Granularity Broad themes Specific concepts
Creation Manual with # Automatic when mentioning pages
Structure Flat categories Network graph
Best for Finding similar content Discovering relationships

Example:

1# Attention Mechanisms in Transformers
2
3The [Transformer Architecture](/Transformer_Architecture) uses #attention-mechanisms.
4
5Introduced in [Attention Is All You Need](/Attention_Is_All_You_Need).
6
7Topics: #machine-learning #nlp #deep-learning

Use Cases

1. Topic Organization

Organize notes by subject:

1# Linear Regression Notes
2
3Basic #statistics and #machine-learning algorithm.
4
5Used for #regression tasks, not #classification.
6
7Learn: #supervised-learning #algorithms

Find all statistics pages, all machine-learning pages, etc.

2. Project Tracking

Track work across projects:

1# API Endpoint Refactoring
2
3Refactor auth endpoints for #project-apollo #backend.
4
5Related work: #api-design #security
6
7Status: #in-progress #Q2-2026

See all project-apollo tasks or all in-progress items.

3. Learning Themes

Track learning areas:

1# React Hooks Deep Dive
2
3Learning about #react #javascript #frontend.
4
5Part of #learning-path-frontend #2026-goals
6
7Difficulty: #intermediate

Browse learning-path-frontend to see your curriculum.

4. Content Type

Mark content types:

1# How to Build a RESTful API
2
3Complete guide to REST APIs.
4
5Type: #tutorial #guide #how-to
6Topics: #api-design #backend #http

Find all tutorial pages or all how-to guides.

5. Status and Workflow

Track page maturity:

1# Neural Network Theory (Draft)
2
3Status: #draft #needs-review #work-in-progress
4
5Once complete: #published #ready

See all draft pages that need finishing.

Organizing Strategies

Multi-Dimensional Tagging

Tag from multiple angles:

1#topic-machine-learning     ← What it's about
2#type-research-note         ← What kind of page
3#status-published           ← Completion status
4#project-thesis             ← Related project
5#difficulty-advanced        ← Complexity level

This creates flexible, multi-faceted organization.

Tag Prefixes

Use prefixes for clarity:

 1#lang-python
 2#lang-javascript
 3#lang-go
 4
 5#topic-algorithms
 6#topic-databases
 7#topic-networking
 8
 9#status-draft
10#status-published
11#status-archived

Prefixes group related tags and make browsing easier.

Hierarchical Tags (Optional)

While hashtags are flat, you can simulate hierarchy with naming:

1#programming
2#programming-languages
3#programming-languages-python
4#programming-languages-python-async

Not enforced by XLog, but useful for personal organization.

Best Practices

1. Be Consistent

Pick tag names and stick with them:

1#machine-learning    ← Consistent
2#ml                  ← Don't mix abbreviations
3#MachineLearning     ← Different case okay, but pick one style

2. Not Too Many, Not Too Few

Too few tags:

1#notes  ← Too broad, not useful

Too many tags:

1#machine #learning #neural #networks #deep #learning #ai #ml #dl
2← Too granular, redundant

Just right:

1#machine-learning #neural-networks #deep-learning
2← Specific enough to be useful

3. Use Tags for Discovery

Tag content you’ll want to find again:

1# Solution to CORS Issues
2
3Quick fix for #troubleshooting #cors #web-development.
4
5Bookmark: #reference #solutions

Later, browse troubleshooting for debugging help.

Use both for powerful organization:

1# React Context API
2
3Discusses [React](/React) state management via #context-api.
4
5Related patterns: [Redux](/Redux), [MobX](/MobX)
6
7Topics: #react #state-management #frontend

5. Review and Refactor Tags

Periodically review your tags:

Tag Performance

Hashtags are lightweight:

  • Indexed during page rendering
  • Fast lookup even with thousands of tags
  • No performance impact on large knowledge bases

Configuration

Hashtags are provided by the hashtags extension (enabled by default).

To disable hashtags:

1xlog -disabled-extensions "hashtags"

(Not recommended - hashtags are essential for organization)

Examples

Personal Wiki

1# Database Indexing Strategies
2
3Exploring #database #performance #optimization techniques.
4
5Types: #b-tree #hash-index #bitmap-index
6
7Related: [SQL Optimization](/SQL_Optimization) [Query Planning](/Query_Planning)
8
9Topics: #postgresql #mysql #database-design

Research Notes

1# Paper: Attention Is All You Need
2
3Seminal #research-paper on #transformers.
4
5Authors: [Vaswani et al.](/Vaswani_et_al.)
6
7Topics: #nlp #deep-learning #attention-mechanisms
8Year: #2017 #papers-2017
9Impact: #highly-cited #foundational

Learning Journal

1# 2026-05-07 - Learning Log
2
3Today: #golang #concurrency #goroutines
4
5Completed: #tutorial #effective-go
6
7Next: #channels #context #patterns
8
9Status: #learning-in-public #100-days-of-code

Project Documentation

1# Authentication Service Architecture
2
3Component: #backend #microservices #authentication
4
5Stack: #golang #jwt #oauth2
6
7Project: #main-platform #api-gateway
8
9Status: #production #v2.0

Tag Naming Conventions

Technical Content

1#lang-python        ← Programming languages
2#tool-docker        ← Tools and software
3#concept-oop        ← Concepts and theory
4#pattern-singleton  ← Design patterns

Personal Knowledge

1#book-atomic-habits     ← Books
2#course-cs50            ← Courses  
3#video-mit-ocw          ← Video series
4#podcast-lex-fridman    ← Podcasts

Status and Workflow

1#todo              ← Action items
2#doing             ← In progress
3#done              ← Completed
4#blocked           ← Waiting on something
5#someday-maybe     ← Backlog

Limitations

No Tag Hierarchy

XLog treats all tags as flat. These aren’t parent-child:

1#programming
2#programming-languages
3#programming-languages-python

You can name them hierarchically, but XLog doesn’t enforce relationships.

No Tag Aliases

Each tag is independent:

1#ml                  ← Different tag
2#machine-learning    ← Different tag

Pick one and be consistent.

No Tag Descriptions

Tags are just labels - no descriptions or metadata. Document tag meanings in an index page:

1# Tag Index
2
3## Project Tags
4- **#project-apollo** - Main web platform
5- **#project-beta** - Mobile app project
6
7## Status Tags
8- **#draft** - Work in progress
9- **#published** - Ready for sharing

Advanced Usage

Tag-Based Navigation

Create tag navigation pages:

 1# Topic Index
 2
 3## Programming
 4- [#golang](/tags/golang)
 5- [#python](/tags/python)  
 6- [#javascript](/tags/javascript)
 7
 8## Concepts
 9- [#algorithms](/tags/algorithms)
10- [#data-structures](/tags/data-structures)

Tag Clouds (Manual)

List your most-used tags:

1# My Knowledge Base
2
3Most active topics:
4#machine-learning (45) #golang (32) #web-development (28)
5#algorithms (24) #database-design (18) #react (15)

Dynamic Tag Pages

Tag pages are generated automatically. Bookmark frequently-used ones:

1# Quick Links
2
3- [Machine Learning Notes](/tags/machine-learning)
4- [Ongoing Projects](/tags/in-progress)
5- [Reference Material](/tags/reference)

See Also

Backlinks

See Also