51 lines
2.0 KiB
Markdown
51 lines
2.0 KiB
Markdown
# AGENTS.md
|
|
|
|
## Purpose
|
|
This project is a small Markdown-to-HTML utility used behind NGINX.
|
|
When a `.md` file is requested, `src/md2html.php` loads the Markdown, converts it with Parsedown, and renders HTML styled by `src/markdown.css`.
|
|
|
|
## Key Files
|
|
- `src/md2html.php`: entrypoint for conversion and HTML output.
|
|
- `src/markdown.css`: visual styling for rendered Markdown (`.markdown-body`).
|
|
- `composer.json`: PHP dependency config (`erusev/parsedown`).
|
|
|
|
## Environment Assumptions
|
|
- Project root: `D:\www\md2html`
|
|
- Markdown files are resolved from `D:\www\...`
|
|
- CSS is currently linked as `//localhost/md2html/src/markdown.css`
|
|
|
|
## Change Priorities
|
|
1. Keep output readable on desktop and mobile.
|
|
2. Preserve Markdown semantics generated by Parsedown.
|
|
3. Avoid introducing JS unless explicitly required.
|
|
4. Keep the utility simple and fast.
|
|
|
|
## Styling Rules (`src/markdown.css`)
|
|
- Style only inside `.markdown-body` unless there is a strong reason to change global page behavior.
|
|
- Must cover: headings, links, lists, blockquotes, inline code, code blocks, tables, images, hr.
|
|
- Keep strong contrast and accessible font sizes.
|
|
- Ensure long code lines and wide tables remain usable on small screens (`overflow-x`).
|
|
- Prefer CSS variables for colors and spacing to simplify future theme changes.
|
|
|
|
## PHP Rules (`src/md2html.php`)
|
|
- Keep dependency loading via the project root's `vendor/autoload.php`, resolved relative to the entrypoint directory.
|
|
- Keep response minimal: `<!doctype html>`, UTF-8 meta, stylesheet link, wrapped content.
|
|
- Do not remove `.md` extension guard.
|
|
- Any path-handling changes must remain compatible with Windows paths.
|
|
|
|
## Recommended Validation After Edits
|
|
1. Open at least one Markdown file with:
|
|
- headings (`#`, `##`, `###`)
|
|
- lists
|
|
- fenced code block
|
|
- table
|
|
- blockquote
|
|
- image
|
|
2. Verify layout on desktop and mobile width.
|
|
3. Verify links and code blocks remain readable.
|
|
|
|
## Non-Goals
|
|
- Building a full CMS.
|
|
- Adding heavy frontend frameworks.
|
|
- Replacing Parsedown unless explicitly requested.
|