GSoC-2025-Report

Import Markdown files into LibreOffice Writer - GSoC 2025

Project Overview

This project implements Markdown import support in LibreOffice Writer, with a focus on compliance with the CommonMark specification. The imported Markdown content is accurately structured within Writer, preserving headings, lists, code blocks, and other formatting elements.

Core Goals Completed

Stretch Goals Completed

Implementation Details

The core implementation involved integrating the MD4C library and mapping its parsed elements into LibreOffice Writer’s document model.

This consists of these core patches:

Demonstration

The screenshots below illustrate the impact of the new Markdown import filter, showing how a plain text Markdown file is transformed into a well-structured, formatted document in Writer.

Before After
No Formatting Present in the document. Document is correctly formatted.
Plain text without structure. Well-structured document with proper formatting applied.
Limited usability of Markdown content in LibreOffice. Seamless integration of Markdown into LibreOffice workflow.

Contributions Overview

Core Patches

Unit tests

Bug fixes and Others

Future Work

Learning & Experience

This project was a valuable learning experience, giving me deeper insight into LibreOffice’s architecture and the challenges of integrating new features into a large codebase. I learned how the filter system interacts with different LibreOffice modules such as sw, sd, and sc, and how to map Markdown elements into Writer effectively.

I also improved my skills in C++, build systems, and unit testing, while gaining experience with code reviews and collaborative development. Working with my mentors and the community taught me the importance of clear communication, iterative development, and maintaining quality through testing.

Overall, this project strengthened my technical abilities and gave me confidence in contributing to large open-source projects like LibreOffice.