Skip to content

About

Windows port of md2loop - Markdown ↔ Loop converter (WinUI 3 / .NET 8)

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

51 Commits

Folders and files

Repository files navigation

md2loop logo

md2loop

A lightweight Windows utility that converts Markdown ↔ Rich Text for seamless pasting into Microsoft Loop.

License: MIT Platform: Windows .NET 8 WinUI 3 Build Release


Windows port of md2loop (originally macOS/Swift).

Features

  • Markdown → Rich Text — Converts clipboard Markdown or plain text to optimized HTML for pasting into Loop
  • Rich Text → Markdown — Converts HTML or RTF from Loop, Office, and other apps back to clean Markdown
  • Smarter auto-detection — Distinguishes semantic rich text from syntax-colored Markdown copies
  • Manual output controls — Always choose Rich Text or Markdown yourself
  • One shortcut — Ctrl+Enter uses the detected direction
  • Full Markdown support — Headings, bold/italic, lists, tables, code blocks, task lists, links, blockquotes
  • Native Windows app — WinUI 3, Mica backdrop, dark mode

Installation

Download (recommended)

Grab the latest release from the Releases page:

File Description
md2loop-setup-x.y.z-win-x64.exe Installer — Intel/AMD 64-bit
md2loop-setup-x.y.z-win-arm64.exe Installer — ARM64 (Surface Pro, Snapdragon)
md2loop-x.y.z-win-x64.zip Portable ZIP (Intel/AMD 64-bit)
md2loop-x.y.z-win-arm64.zip Portable ZIP (ARM64 — Surface Pro, Snapdragon)

The installer handles everything — just run it. No .NET runtime needed.

Build from source

git clone https://github.com/trsdn/md2loop-windows.git
cd md2loop-windows\md2loop
dotnet build
dotnet run

Publish single-file executable

dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:PublishTrimmed=true -o publish

Build the Microsoft Store package (MSIX)

The app builds unpackaged by default, which is what the installer and portable ZIP use. Opt into MSIX packaging to produce a Store-submittable package:

dotnet build md2loop\md2loop.csproj -c Release -r win-x64 -p:Platform=x64 -p:WindowsPackageType=MSIX

The .msix lands in md2loop\AppPackages\. It is built unsigned on purpose — Microsoft re-signs Store submissions after certification, so no code signing certificate is required.

Two things still need a Partner Center account before submission: the Identity and PublisherDisplayName values in md2loop\Package.appxmanifest are template placeholders and must be replaced with the reserved app identity. Note also that in the packaged build "start with Windows" comes from the windows.startupTask manifest extension rather than the installer's registry key, so users toggle it in Settings → Apps → Startup.

Usage

  1. Copy Markdown text to your clipboard
  2. Open md2loop — it recommends a conversion direction
  3. Click Rich Text to format the clipboard for Loop, or press Ctrl+Enter
  4. Paste into Microsoft Loop (Ctrl+V)

Works the other way too — copy rich text from Loop or Office and click Markdown. The two buttons remain available even when you want to override auto-detection.

How it works

Component Purpose
ClipboardContentDetector.cs Scored detection of Markdown/plain text vs HTML/RTF
ClipboardManager.cs Reads HTML, RTF, and text; writes HTML and text clipboard formats
LoopHtmlConverter.cs Markdown → Loop-optimized HTML via Markdig
HtmlToMarkdownConverter.cs HTML → Markdown via HtmlAgilityPack
RtfToMarkdownConverter.cs RTF → HTML → Markdown via RtfPipe
MainPage.xaml(.cs) WinUI 3 UI with explicit output buttons + Ctrl+Enter shortcut

Loop-specific optimizations

  • No CSS classes in output HTML
  • Unicode checkboxes (☑/☐) for task lists
  • Minimal table HTML
  • Multi-format clipboard (HTML + plain text) for maximum compatibility

Requirements

  • Windows 10 version 1809 or later
  • No runtime dependencies when using the release build (self-contained)
  • .NET 8 SDK only needed for building from source

Contributing

Contributions are welcome! Please open an issue or PR.

Project layout

Project Purpose
md2loop WinUI 3 app: window, clipboard access, UI
md2loop.Core Conversion logic, with no UI or clipboard dependencies
tests/md2loop.Tests Unit tests for md2loop.Core

Running the tests

dotnet test tests/md2loop.Tests/md2loop.Tests.csproj

Regenerating the icons

The application icons are generated from assets/logo.png. After changing the artwork, regenerate assets/logo.ico and md2loop/Assets/AppIcon.ico:

powershell -ExecutionPolicy Bypass -File scripts/generate-icons.ps1

License

MIT — see LICENSE for details.

About

Windows port of md2loop - Markdown ↔ Loop converter (WinUI 3 / .NET 8)

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages