Skip to content

Add Folder Markdown format support#7

Open
FBEZ wants to merge 1 commit intooverhangio:mainfrom
FBEZ:add/folder_support
Open

Add Folder Markdown format support#7
FBEZ wants to merge 1 commit intooverhangio:mainfrom
FBEZ:add/folder_support

Conversation

@FBEZ
Copy link

@FBEZ FBEZ commented Feb 24, 2026

Summary

Introduces a new "Folder Markdown" format that allows authoring multi-file course structures, enabling better team collaboration and organization for large courses. Includes auto-detection and example courses.

Key Changes

New Format: Folder Markdown

  • Implements reader.py with a complete folder-based course compiler
  • Reads hierarchical folder structure (course → chapters → sequentials → units)
  • Merges multiple Markdown files into a single processed course
  • Parses YAML frontmatter for metadata (title, order, hidden/draft flags)
  • Automatically sorts content by order field

Index File Handling

  • Course, chapter, and sequential index.md files are treated as metadata-only
  • Body text in index files is ignored with warnings printed to console
  • Only unit files (non-index markdown in sequentials) contain actual course content

Debug Mode

  • Set MU_DEBUG_FOLDER_MD=1 environment variable to inspect merged markdown
  • Keeps temporary files for debugging the merge process
  • Prints file location to console for easy inspection

Documentation & Examples

  • README section explaining folder structure and usage
  • Updated installation instructions with virtual environment setup steps
  • Added complete example course structure in course_folder
  • Includes merged output example for reference

Project Maintenance

  • Expanded .gitignore with comprehensive Python standards
  • Added .DS_Store and muenv entries
  • Added PyYAML dependency for YAML frontmatter parsing

Testing

Example courses can be tested with:

mu examples/course_folder examples_output/course_folder
MU_DEBUG_FOLDER_MD=1 mu examples/course_folder /path/to/olx/

Breaking Changes

None. The new format is additive and doesn't affect existing functionality.

…o handle courses specified as markdown files inside a folder.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant