LTheme is a small theme, kept small on purpose. Bug reports, breakpoint fixes, and doc corrections are all welcome at github.com/max-ayn/ltheme-vitepress.
Local setup
sh
git clone https://github.com/max-ayn/ltheme-vitepress
cd ltheme-vitepress
pnpm install
pnpm docs:devThis site itself (docs/) is the theme's dev sandbox: it consumes the theme via the self-referencing ltheme/theme import (see Use), so any change under src/theme is visible immediately at localhost:5173.
Where things live
src/theme/— the theme itself: layout, styles, markdown plugins, Vue components.src/theme/styles/components/— one CSS file per component (sidebar.css,content.css,layout.css, …). Check breakpoints across files before adding a new one — several bugs here have come from the same rule being duplicated in two files with different cascade order.src/theme/support/markdown-plugins.ts— the^[...]sidenote syntax and the:::writingcontainer.docs/pages/— this site's actual content, useful as a live example of every theme feature.
Before opening a PR
- Run
pnpm docs:build— it catches broken links and type errors inconfig.mts. - Check your change at a few widths, not just one. Most of this theme's mobile bugs have been a rule that worked at 393px but not at 700–950px, or vice versa.
- Keep the diff scoped to the breakpoint or component you're fixing — this theme has accumulated enough duplicate/dead CSS rules already.