Skip to content

dmccreary/intelligent-textbooks

Repository files navigation

Building Intelligent Textbooks With AI

Built with Material for MkDocs GitHub Pages Python p5.js License: CC BY-NC-SA 4.0

A comprehensive guide to designing and building online interactive intelligent textbooks using open source tools, with a focus on interactive learning experiences and AI-powered content generation.

๐ŸŒ Website

View the Live Site โ†’

๐Ÿ“– About

This project is a series of resources to help teachers worldwide create the foundation for free and open intelligent textbooks. Our focus is on helping instructors create Level 2 textbooks that use a learning graph as their core data structure to ground content generation and guide learning agents.

Why Intelligent Textbooks?

Traditional textbooks are static. Intelligent textbooks adapt to learners, provide interactive experiences, and leverage AI to create personalized educational content. This project demonstrates how to build textbooks that:

  • Adapt to individual learning paths using concept dependency graphs
  • Provide interactive simulations (MicroSims) for hands-on learning
  • Generate content dynamically using AI prompts and workflows
  • Scale globally using free, open-source tools

๐Ÿ—๏ธ Architecture

Core Technologies

  • MkDocs - Static site generator optimized for documentation
  • Material Theme - Modern, responsive theme with advanced features
  • p5.js - Interactive simulations and visualizations
  • Python - Content processing and analytics scripts
  • GitHub Pages - Free hosting for public educational content

Key Components

Component Description
MicroSims Interactive p5.js simulations embedded via iframes
Learning Graphs Concept dependency visualizations and data
AI Prompts Structured prompts for content generation workflows
Custom Plugins Social media card overrides and extensions
Analytics Tools Python scripts for site metrics and content analysis

๐Ÿ“ Project Structure

intelligent-textbooks/
โ”œโ”€โ”€ docs/                     # All markdown content
โ”‚   โ”œโ”€โ”€ concepts/            # Educational theory and best practices
โ”‚   โ”œโ”€โ”€ tutorial/            # Getting started guides
โ”‚   โ”œโ”€โ”€ prompts/             # AI content generation prompts
โ”‚   โ”œโ”€โ”€ workflow/            # Step-by-step content creation processes
โ”‚   โ”œโ”€โ”€ sims/                # Interactive p5.js microsimulations
โ”‚   โ”‚   โ”œโ”€โ”€ learning-graph/  # Concept dependency visualizations
โ”‚   โ”‚   โ”œโ”€โ”€ blooms-taxonomy/ # Educational taxonomy simulations
โ”‚   โ”‚   โ””โ”€โ”€ templates/       # Reusable MicroSim templates
โ”‚   โ””โ”€โ”€ css/extra.css        # Custom styling
โ”œโ”€โ”€ src/                     # Python utility scripts
โ”‚   โ”œโ”€โ”€ site-analytics/      # Website metrics and reporting
โ”‚   โ”œโ”€โ”€ csv-to-json/         # Data format conversion tools
โ”‚   โ””โ”€โ”€ mk-book-toc/         # Table of contents generation
โ”œโ”€โ”€ plugins/                 # Custom MkDocs plugins
โ”‚   โ””โ”€โ”€ social_override.py   # Social media card customization
โ”œโ”€โ”€ mkdocs.yml              # Site configuration
โ””โ”€โ”€ CLAUDE.md               # AI development guidance

๐Ÿš€ Quick Start

Prerequisites

  • Python 3.7+
  • Conda (recommended) or pip
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/dmccreary/intelligent-textbooks.git
    cd intelligent-textbooks
  2. Set up Python environment

    # Using conda (recommended)
    conda create -n mkdocs python=3
    conda activate mkdocs
    
    # Install dependencies
    pip install mkdocs "mkdocs-material[imaging]"
  3. For social card generation (macOS)

    brew install cairo freetype libffi libjpeg libpng zlib
    export DYLD_FALLBACK_LIBRARY_PATH=/opt/homebrew/lib

Development

# Build the site
mkdocs build

# Run local development server
mkdocs serve
# Visit http://localhost:8000

# Deploy to GitHub Pages
mkdocs gh-deploy

๐Ÿ“š Content Areas

๐ŸŽ“ Educational Concepts

  • Five Levels of Intelligent Textbooks - Progressive enhancement framework
  • Bloom's Taxonomy - Cognitive learning objectives
  • Learning Graphs - Concept dependency mapping
  • Scaffolding - Structured learning support

๐Ÿค– AI Workflows

  • Content Generation Prompts - Structured AI interactions
  • Learning Graph Creation - Automated concept mapping
  • Quality Assessment - Content evaluation metrics
  • Semantic Search - Intelligent content discovery

๐ŸŽฎ Interactive Elements

  • MicroSims - p5.js educational simulations
  • Concept Visualizations - Interactive diagrams
  • Learning Graph Viewer - Dynamic concept exploration
  • Template Library - Reusable simulation components

๐Ÿ› ๏ธ Creating MicroSims

MicroSims are self-contained interactive educational simulations. Each follows this structure:

docs/sims/your-sim-name/
โ”œโ”€โ”€ index.md          # Documentation and embedding
โ”œโ”€โ”€ main.html         # Standalone HTML page  
โ””โ”€โ”€ your-sim-name.js  # p5.js simulation code

Template Usage: Start with docs/sims/templates/ for consistent structure and styling.

๐Ÿค Contributing

We welcome contributions! Here's how to get started:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Contribution Guidelines

  • Follow existing MicroSim structure for interactive content
  • Update navigation in mkdocs.yml for new pages
  • Test locally with mkdocs serve before submitting
  • Include appropriate metadata for social sharing

๐Ÿ“Š Analytics & Metrics

The src/site-analytics/ directory contains Python tools for:

  • Site Performance Metrics - Page views, engagement analysis
  • Content Quality Assessment - Educational effectiveness measures
  • Learning Graph Analysis - Concept coverage and dependencies
  • Report Generation - Automated insights and recommendations

๐ŸŽฏ Educational Philosophy

This project implements concepts from Neal Stephenson's "The Diamond Age," specifically the Young Lady's Illustrated Primer - a vision of adaptive, personalized educational technology that:

  • Generates content in real-time based on learner needs
  • Uses interactive storytelling and simulations
  • Implements learning graphs for optimal concept sequencing
  • Provides scaffolded support that adapts to individual progress

๐Ÿ“„ License

This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License - see the LICENSE file for details.

You are free to:

  • Share โ€” copy and redistribute the material in any medium or format
  • Adapt โ€” remix, transform, and build upon the material

Under the following terms:

  • Attribution โ€” You must give appropriate credit and indicate if changes were made
  • NonCommercial โ€” You may not use the material for commercial purposes
  • ShareAlike โ€” If you remix or build upon the material, you must distribute your contributions under the same license

๐Ÿ”— Links & Resources


Built with โค๏ธ for educators worldwide

Empowering teachers to create intelligent, adaptive learning experiences

About

How to use AU and mkdocs material with education theory to create intelligent textbooks

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •