Live Demo
Experience the MkDocs Free-Text Questions Plugin in action! All examples below are fully interactive - try typing in the answer boxes, toggling sample answers, and exploring the features.
Interactive Examples
All questions on this page are live and functional. Your answers are automatically saved in your browser's local storage.
Basic Question
Try answering this simple question using our modern syntax:
What is the capital of France?
Triple Quote Support for Complex Answers
The plugin now supports triple quotes ("""
) to handle answers containing commas, quotes, and complex punctuation:
List the programming languages you know and explain their primary use cases.
Explain the time complexity of common sorting algorithms.
Question with Code Block
This example shows how questions can include syntax-highlighted code blocks:
Analyze the following Python function and explain what it does:
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
What is the time complexity and when would you use this algorithm?
Mermaid Diagram Question
See how the plugin handles interactive Mermaid diagrams within questions:
graph TD
A[Frontend App] --> B[API Gateway]
B --> C[User Service]
B --> D[Order Service]
B --> E[Payment Service]
C --> F[(User DB)]
D --> G[(Order DB)]
E --> H[(Payment DB)]
D --> I[Email Service]
E --> I
I --> J[External Email API]
Consider scalability, reliability, and security aspects.
marks: 12, placeholder: Analyze the architecture and suggest improvements..., show_answer: true, answer: Potential issues: 1) Single API Gateway bottleneck, 2) No service discovery mechanism, 3) Direct database connections without connection pooling, 4) No caching layer, 5) Missing monitoring/logging. Improvements: Load balance the API Gateway, implement service mesh (Istio), add Redis caching, use database connection pools, implement circuit breakers, add distributed tracing, and use message queues for async communication between services.
Visual Learning with Images
Questions can include educational images and diagrams:
Examine this data structure visualization and answer the following:
- What type of tree traversal would visit nodes in the order: 3, 5, 7, 10, 12, 15, 18?
- What is the height of this tree?
- Is this a valid Binary Search Tree?
Algorithm Flowchart Question
Questions can include flowcharts to visualize algorithms and processes:
Study this algorithm flowchart and explain what sorting algorithm it represents:
flowchart TD
A[Start: Array of n elements] --> B[i = 0]
B --> C{i < n-1?}
C -->|No| Z[End: Array sorted]
C -->|Yes| D[j = 0]
D --> E{j < n-i-1?}
E -->|No| F[i = i + 1]
F --> C
E -->|Yes| G{arr[j] > arr[j+1]?}
G -->|No| H[j = j + 1]
G -->|Yes| I[Swap arr[j] and arr[j+1]]
I --> H
H --> E
What is the name of this algorithm and what are its time complexities for best, average, and worst cases?
Multi-Language Code Example
Demonstrate code syntax highlighting across different programming languages:
Compare these three implementations of the same function in different languages:
Python:
JavaScript:
Java:
What programming concept do all three implementations demonstrate, and what are the potential risks?
The plugin supports comprehensive assessments with multiple questions:
Assessment
title: Python Fundamentals Assessment shuffle: true
What is a variable in Python and how do you create one?
marks: 3,
placeholder: Describe variables and their creation...,
show_answer: true,
answer: A variable in Python is a name that refers to a value stored in memory. You create one by simply assigning a value: x = 5
or name = "Hello"
. Python is dynamically typed, so you don't need to declare the type.
Explain the difference between a list and a tuple in Python.
marks: 5,
placeholder: Compare lists and tuples...,
show_answer: true,
answer: Lists are mutable (can be changed after creation) and use square brackets: [1,2,3]
. Tuples are immutable (cannot be changed) and use parentheses: (1,2,3)
. Lists are better for collections that may change, tuples for fixed data.
What is a function in Python? Write a simple example.
marks: 4,
placeholder: Define functions and provide an example...,
show_answer: true,
answer: A function is a reusable block of code that performs a specific task. Example: def greet(name): return f"Hello, {name}!"
- This function takes a name parameter and returns a greeting string.
Character Counter Demo
Notice the character counter in the bottom-right of text areas (can be disabled):
Write a short paragraph (aim for 100-200 characters) explaining your favourite programming language and why you enjoy using it.
Long-Form Question
Perfect for essays and detailed responses:
Design a simple web application architecture for an online bookstore. Include the following components and explain how they interact:
- Frontend (user interface)
- Backend API
- Database
- Payment processing
- Inventory management
Draw a simple diagram or describe the data flow between components.