Very much a work in progress
A site generator for markdown/MDX documents. See it live at https://abhayvatsa.com
Expose an easy interface to publish markdown/MDX documents with a core library of React components. Additionally, provide a good user experience and integrate with analytics, Open Graph, etc.
- Autogenerated table of contents
- Allow JSX in your markdown with MDX
- GitHub Flavored Markdown features
- Break support without needing spaces
- Convert :emoji: to real UTF-8 emojis
- Automatically add
target
andrel
to external links - Add
id
to headings - Syntax highlighting for codeblocks
Markdown/MDX files with YAML frontmatter. The filename
maps to the slug that
identifies the URL i.e. ./a/${filename}
=> my.domain.name/a/${filename}
. You
can specify YAML frontmatter per below specification.
- YAML frontmatter
publishTime
: a date string that fornew Date(publishTime)
summary
: a string description of the articlekeywords
: keywords related to articletype
: a string specify type of article, useful in filtering forsections
- Site elements:
headline
: Headline for<Hero />
componentsubheadline
: Subheadline for<Hero />
componentsections
: Array that defines<Preview />
sections on home page- schema: [{ title: "Title", filter:
${type}
}" - e.g.
[{title: 'Posts', filter='project'}, [{title: 'Recent OtherTypes', filter='othertype'}]
- schema: [{ title: "Title", filter:
links
: Array of URLs for github, linkedin, twitter.about
boolean enabling link to /about/ page
- Meta:
title
:document.title
for applicationdescription
: meta descriptionkeywords
: meta keywordsowner
: meta ownerdomainName
: domain name of website
- Analytics:
gaTrackingId
: Enable GA by a providing analytics tracking code
I have ambitions to:
- Add offline-search
- Improve the interface/documentation to gutenberg
- Add more error handling & add tests
- Styling: Improve design, increase legibility, ensure layout works varying content length
- Provide generic components (like charts, etc) usable in markdown