---
source: projects/mark-don/
generated: 2026-05-08T10:05:14.528Z
note: This is a markdown version optimized for LLMs. For the full experience, visit the HTML version.
---

Paul Lahana's Portfolio  

A markdown version of this page optimized for LLMs is available at: [https://dev.paul-lahana.com/projects/mark-don/index.md](https://dev.paul-lahana.com/projects/mark-don/index.md)

# [Paul Lahana](/)

[![Paul Lahana](/_astro/smiley.aUVAx_wu.png)](/drawing-board)

-   [About](/about)

[](/)

## mark-don

open source projectRubyRailsTypeScriptAstroLLM

[mark-don (Rails)](https://github.com/paultursuru/mark-don) [astro-mark-don (Astro)](https://github.com/paultursuru/astro-mark-don) [RubyGems](https://rubygems.org/gems/mark-don) [npm](https://www.npmjs.com/package/astro-mark-don)

A Rails gem and an Astro integration that serve any page as Markdown by appending .md to the URL or sending Accept: text/markdown.

The Rails gem hooks into any app automatically via a Railtie. The Astro package generates static .md files at build time.

Both are available as open source packages : mark-don on RubyGems, astro-mark-don on npm.

This portfolio is using astro-mark-don : try it at [dev.paul-lahana.com/index.md](https://dev.paul-lahana.com/index.md)

Inspired by Evil Martians' article on making websites visible to LLMs.

![A screenshot of the markdown version of this portfolio](/_astro/markdon.BGMvqCw8_10xOsz.webp)![A screenshot of the response from the LLM when asking for a description of the portfolio](/_astro/markdon-2.BjMIIQAb_ZWO90v.webp)