Definition Lists
Learn how to create semantic term and definition pairs for glossaries and documentation
Definition Lists
Definition lists provide a semantic way to display term and definition pairs, perfect for glossaries, documentation, and educational content.
Basic Syntax
Define a term followed by its definition using a colon and indentation:
- HTML
- HyperText Markup Language, the standard language for creating web pages.
- CSS
- Cascading Style Sheets, used for describing the presentation of HTML documents.
- JavaScript
- A programming language that enables interactive web pages.
Multiple Definitions
A single term can have multiple definitions:
- Open Source
- Software with source code that anyone can inspect, modify, and enhance.
- A collaborative development methodology that promotes transparency and community participation.
Multiple Terms
Multiple terms can share the same definition:
- Frontend
- Client-side
- The part of a web application that users interact with directly in their browser.
- Backend
- Server-side
- The part of a web application that runs on the server and handles data processing.
Programming Concepts
Data Structures
- Array
- An ordered collection of elements stored at contiguous memory locations.
- Linked List
- A linear data structure where elements are stored in nodes, with each node pointing to the next.
- Stack
- A Last-In-First-Out (LIFO) data structure where elements are added and removed from the same end.
- Queue
- A First-In-First-Out (FIFO) data structure where elements are added at one end and removed from the other.
- Hash Table
- A data structure that maps keys to values using a hash function for efficient lookup.
Design Patterns
- Singleton
- A design pattern that ensures a class has only one instance and provides global access to it.
- Observer
- A behavioral pattern where an object maintains a list of dependents and notifies them of state changes.
- Factory
- A creational pattern that provides an interface for creating objects without specifying exact classes.
Web Development Terms
HTTP Methods
- GET
- Retrieves data from a server. Should not modify server state.
- POST
- Submits data to create a new resource on the server.
- PUT
- Updates an existing resource or creates it if it doesn't exist.
- DELETE
- Removes a specified resource from the server.
- PATCH
- Partially updates an existing resource.
Status Codes
- 200 OK
- The request succeeded and the server returned the requested data.
- 404 Not Found
- The server cannot find the requested resource.
- 500 Internal Server Error
- The server encountered an unexpected condition that prevented it from fulfilling the request.
Complex Definitions with Formatting
You can include rich content in definitions:
- React
- A JavaScript library for building user interfaces.
Key Features:
- Component-based architecture
- Virtual DOM for performance
- Declarative syntax
- Unidirectional data flow
JSXfunction Welcome({ name }) { return <h1>Hello, {name}!</h1>; } - Node.js
- A JavaScript runtime built on Chrome's V8 engine.
Allows JavaScript to run on the server side, enabling full-stack JavaScript development.
Common Uses:
- Web servers and APIs
- Real-time applications
- Command-line tools
- Build tools and task runners
Database Terminology
- SQL
- Structured Query Language - a domain-specific language for managing relational databases.
- NoSQL
- A class of database management systems that don't use traditional relational models.
Types:
- Document stores (MongoDB, CouchDB)
- Key-value stores (Redis, DynamoDB)
- Column-family stores (Cassandra, HBase)
- Graph databases (Neo4j, ArangoDB)
- ACID
- A set of properties guaranteeing reliable database transactions:
- Atomicity - All or nothing execution
- Consistency - Valid state transitions
- Isolation - Concurrent execution appears sequential
- Durability - Committed changes persist
Git Terminology
- Repository
- A storage location for a software project, including all files and revision history.
- Commit
- A snapshot of changes in the repository at a specific point in time.
- Branch
- A parallel version of the repository that diverges from the main working project.
- Merge
- The process of integrating changes from one branch into another.
- Pull Request
- A request to merge changes from one branch into another, typically used for code review.
API Concepts
- REST
- Representational State Transfer - an architectural style for distributed systems.
Principles:
- Stateless communication
- Client-server architecture
- Cacheable responses
- Uniform interface
- GraphQL
- A query language for APIs that allows clients to request exactly the data they need.
Advantages:
- No over-fetching or under-fetching
- Strongly typed schema
- Single endpoint
- Real-time updates with subscriptions
- Endpoint
- A specific URL where an API can be accessed to perform operations.
Security Terms
- Authentication
- The process of verifying the identity of a user or system.
- Authorization
- The process of determining what actions an authenticated user is allowed to perform.
- Encryption
- The process of encoding information so only authorized parties can access it.
Types:
- Symmetric encryption (AES)
- Asymmetric encryption (RSA)
- Hashing (SHA-256, bcrypt)
- HTTPS
- HTTP Secure - HTTP protocol with encryption using TLS/SSL for secure communication.
Algorithm Complexity
- Big O Notation
- A mathematical notation describing the limiting behavior of an algorithm's time or space requirements.
- O(1)
- Constant time - execution time doesn't change with input size. Example: Array access by index
- O(n)
- Linear time - execution time grows linearly with input size. Example: Linear search through an array
- O(n²)
- Quadratic time - execution time grows quadratically with input size. Example: Nested loops, bubble sort
- O(log n)
- Logarithmic time - execution time grows logarithmically with input size. Example: Binary search on sorted array
Building a Glossary
Programming Paradigms
- Imperative Programming
- A programming paradigm where the programmer instructs the machine how to change its state.
- Declarative Programming
- A programming paradigm that expresses the logic of computation without describing its control flow.
- Object-Oriented Programming (OOP)
- A paradigm based on the concept of objects containing data and code.
Core Principles:
- Encapsulation
- Inheritance
- Polymorphism
- Abstraction
- Functional Programming
- A paradigm that treats computation as the evaluation of mathematical functions and avoids changing state.
Key Concepts:
- Pure functions
- Immutability
- First-class functions
- Higher-order functions
Use Cases
Definition lists are ideal for:
- Glossaries - Technical term definitions
- Documentation - API parameters and return values
- Tutorials - Explaining concepts step by step
- Reference Guides - Command options and flags
- FAQs - Question and answer pairs
Best Practices
Keep Definitions Concise
✅ Good:
- Variable
- A named storage location in memory that holds a value.
❌ Too Verbose:
- Variable
- In computer programming, a variable is essentially a symbolic name associated with a memory location that contains some known or unknown quantity of information referred to as a value, and the variable name is typically used to reference the stored value.
Use Consistent Formatting
When listing multiple related terms, maintain consistent definition structure:
map()- Transforms each element of an array using a callback function.
filter()- Creates a new array with elements that pass a test function.
reduce()- Reduces an array to a single value by applying a function.
Combine with Other Features
Definition lists work well with other markdown features:
- API
- Application Programming Interface
Syntax Reference
Term
: Definition
Multiple Terms
Another Term
: Shared definition
Single Term
: First definition
: Second definition
MarkdownKey Points:
- Term appears on its own line
- Definition starts with
:followed by three spaces (or a tab) - Multiple definitions for one term: use multiple
:lines - Multiple terms for one definition: list terms on consecutive lines
Accessibility
Definition lists use semantic HTML (<dl>, <dt>, <dd> elements):
- Screen readers announce them as definition lists
- Proper structure for assistive technologies
- Semantic meaning improves SEO
Related Features
- Task Lists - For checklists and todo items
- Tables - For structured data comparisons
- Asides - For highlighting important definitions