packages/website/README.md
The official website for MarkText - A simple and elegant markdown editor.
Before you begin, ensure you have the following installed:
To install pnpm globally:
npm install -g pnpm
git clone https://github.com/marktext/website.git
cd website
pnpm install
Start the development server with hot-reload:
pnpm dev
The application will be available at http://localhost:5173 (or the next available port).
Build the application for production:
pnpm build
The optimized files will be generated in the build/ directory.
Preview the production build locally:
pnpm preview
Run TypeScript type checking:
pnpm type-check
Run ESLint to check code quality:
pnpm lint
This project is configured to automatically deploy to GitHub Pages using GitHub Actions.
master branch or manually trigger the workflowThe site will be available at: https://marktext.github.io/website/
You can also trigger the deployment manually:
To preview the production build locally before deploying:
pnpm build
pnpm preview
website/
├── src/
│ ├── assets/ # Static assets (images, SVGs)
│ │ └── sponsor/ # Sponsor logos
│ ├── components/ # React components
│ │ ├── Feature.tsx # Main feature showcase with markdown preview
│ │ ├── Footer.tsx # Website footer
│ │ ├── Sponsor.tsx # Sponsors section
│ │ ├── Theme.tsx # Theme switcher
│ │ └── TitleBar.tsx # Navigation bar
│ ├── markdowns/ # Markdown demo files
│ ├── muya/ # Muya editor library
│ ├── themes/ # Theme CSS files
│ ├── types/ # TypeScript type definitions
│ ├── utils/ # Utility functions
│ │ ├── markdownToHtml.ts # Markdown to HTML converter
│ │ ├── scrollTo.ts # Smooth scrolling utilities
│ │ ├── theme.ts # Theme management
│ │ └── themeColor.ts # Theme color definitions
│ ├── App.tsx # Root component
│ ├── main.tsx # Application entry point
│ └── app.global.css # Global styles
├── public/ # Public static files
├── build/ # Production build output (generated)
├── index.html # HTML template
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── vite.config.js # Vite configuration
└── README.md # This file
The website supports multiple editor themes:
The editor preview supports:
The vite.config.js includes:
.md file importsTwo TypeScript configs are used:
tsconfig.json - App source code configurationtsconfig.node.json - Build tools configurationContributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)This project is licensed under the MIT License - see the LICENSE file for details.
Special thanks to all our sponsors for supporting the MarkText project!
Made with ❤️ by the MarkText Team