A distraction-free, cross-platform markdown editor, inspired by Typora and iA Writer
Deployed at https://kerouac-app.herokuapp.com/
Kerouac is a markdown editor for writers, academics, and engineers, designed to be:
- simple
- usable anywhere
- distraction free
Kerouac provides:
- WYSIWYG interface
- Markdown-like shortcuts for formatting
- Keybindings for formatting and saving
This project uses the following technologies
- MongoDB for database Mongoose
- Express.js as Node web framework
- React.js for client, React Router v5 for routing
- Node.js for server
- Slate for rich text editing and rendering
Refer to the project's Trello page
- Rich text formatting, (bold, italic, underlined, code, H1-H6, and block quotes)
- keybindings for formatting and saving
- User authentication
- User document storage in app database
- Document creation, saving, and deletion
- Light/dark mode switching
- Local markdown file import
- Markdown file export to local storage
- Document Hierarchy Display
- Suport user-generated theming
- Display wordcount
- Hemingway mode (backspace key disabled)
- Focus mode
- Google Drive integration
- Dropbox integraition
- LaTeX and MathTex syntax support
- Deployment (Heroku) https://kerouac-app.herokuapp.com/
- Click the New User registration link to create an account
- log in witn your username and password
- Enter a document title and click New Document to create a blank document
- Click the document in the left navigation panel to begin editing.
- Type Ctrl+'s' to save your work!
If self-hosting, you can clone this repository and run a development server using the following commands:
// Install all dependencies for client & server
npm install
// Run client & development server with concurrently
npm dev
// Assumes Node and npm are installed on machine
// Server runs on http://localhost:3000 (default for Create React App)
Fonts:
- Iosevka Etoile
- IBM Plex (fallback)
Icons: Material Icons
CSS pulse animation: Florin Pop
Rich Text CSS: Slate Examples
App bootstrapping: Create React App
Theming: Styled Components
Dark mode inspiration: CSS Tricks