from typing import Dict
from typing import Any


def create_default_configuration() -> Dict[str, Any]:
    """Creates a dictionary with the default configuration."""
    # When changing this, make sure to update the docs as well
    return {
        'content_directory': 'content',
        'resource_directory': 'resources',
        'static_directory': 'static',
        'output_directory': 'output',
        'generator_directory': 'generators',
        'build': {
            'clean_output': True,
            'cache.fs.directory': 'cache',
            'cache.db.directory': 'cache',
            'cache.redis.host': 'localhost',
            'cache.redis.port': 6379,
            'cache.redis.db': 0,
            'cache.redis.expiration_time': 60,
            'cache.type': 'fs',
            'resource.sass.compiler': 'libsass'
        },
        'ignore_files': ['*~'],
        'content': {
            'filters': ['date', 'status']
        },
        'template': 'templates/default.yaml',
        'routes': {
            'static': 'static_routes.yaml'
        },
        'collections': 'collections.yaml',
        'relaxed_date_parsing': False,
        'allow_relative_links': True,
        'feeds': 'feeds.yaml',
        'metadata': 'metadata.yaml'
    }