Giter VIP home page Giter VIP logo

beautiful-readme's Introduction

๐Ÿšง [WIP] A beautiful online markdown editor

I wanted a place where I could write my blog posts in markdown with a real-time preview, without the need to switch views.

While there are a few web apps out there where I could achieve this, couldn't find one with a clean and beautiful user interface that allows me to resize sections to whatever feels comfortable at any moment.

That's why I decided to create my own online markdown editor using Next.js and Tailwind, inlcuding Vitest for unit testing.

beautiful-readme's People

Contributors

vivitt avatar

Watchers

 avatar

beautiful-readme's Issues

As a user, I want to download the content of the editor as a .md file

Details

Users should be able to download the content of the Editor panel in the app and save this content as a .md file.

To enhance the usability of the markdown editor, the app should implement a feature that allows users to download the current content in the Editor panel. This content should be saved as a .md file.

Acceptance criteria

[ ] The interface includes an accessible "Download" button
[ ] On clicking the "Download" button, an .md file is downloaded to the user's local device, with a default filename that can be renamed by the user
[ ] The downloaded file keeps all markdown formatting as displayed in the Editor panel

Notes

  • The implementation should handle any edge cases, such as empty editor content.

As a user, I want to see numbered lines in the markdown text area so that I can easily reference specific lines of content

Details

The online markdown editor includes a section where users can write markdown. This section should display the line number at the start of each line that has content entered by the user. This way, it is clearer for users if there's any content in the input.

Acceptance criteria

[ ] A number is displayed at the beginning of each input line, corresponding with the line number

[ ] No numbers are displayed if the input has no value

Notes

As a user, I want to be alerted when my changes will be lost if I navigate away from the editor

Details

The application should alert users when they attempt to navigate away from the editor location if they have unsaved changes. A dialog or alert message should inform users that they are going to lose their changes if they leave the current location.

Acceptance criteria

[ ] A dialog or alert is shown when users navigate to another location and there are unsaved changes in the input field.

[ ] The navigation with data loss must be confirmed. If the dialog is closed without confirmation, the current location remains the same.

[ ] The message in the dialog is clear, informative, and guides users on how to avoid losing their changes.

Notes

As a user, I want to be able to switch the preview mode to see the resulting HTML

Details

The preview panel should include two options:

  • Default preview area
  • HTML mode

This way, users can see the styled resulting text or the resulting HTML for the content in the Edit panel.

Acceptance criteria

[ ] The interface in the preview panel includes a clickable element to switch to the HTML view mode
[ ] The interface in the preview panel includes a clickable element to switch back to the default preview
[ ] When users click on the switch to HTML element, the resulting HTML for the text in the Edit panel is shown
[ ] When users click on the default preview element, the resulting styled text for the for the text in the Edit panel is shown

Notes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.