Skip to content

george-asiedu/In-browser-markdown-editor

Repository files navigation

In-browser-markdown-editor

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Table of contents

Overview

Your challenge is to build out this in-browser markdown editor and get it looking as close to the design as possible.

You can use any tools you like to help you complete the challenge. So if you've got something you'd like to practice, feel free to give it a go.

We provide the data in a local data.json file, so use that to populate the content on the first load. If you want to take it up a notch, feel free to build this as a full-stack CRUD application!

The Challenge

Users should be able to:

  • Create, Read, Update, and Delete markdown documents
  • Name and save documents to be accessed as needed
  • Edit the markdown of a document and see the formatted preview of the content
  • View a full-page preview of the formatted content
  • View the optimal layout for the app depending on their device's screen size
  • See hover states for all interactive elements on the page
  • Bonus: If you're building a purely front-end project, use localStorage to save the current state in the browser that persists when the browser is refreshed

Screenshot

Links

My Process

Buit with

  • CSS custom properties
  • React styled components
  • Flex
  • Desktop first workflow
  • React
  • React Modal
  • React Markdown
  • Theme Context
  • Document Context
  • Theme Selection

Project setup

  • Install yarn create vite
  • Install dependencies
    • style component
    • react modal
    • react markdown
  • Move asests to src folder
  • Create main components folders and create files for each
  • Create a separate module for GlobalStyles to be imported in App