Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/indexposition/linked-list-text-editor
A simple Text Editor that uses the concept of Linked List.
https://github.com/indexposition/linked-list-text-editor
algotithms capstone-project data-structures dsa linked-list project
Last synced: 1 day ago
JSON representation
A simple Text Editor that uses the concept of Linked List.
- Host: GitHub
- URL: https://github.com/indexposition/linked-list-text-editor
- Owner: IndexPosition
- License: mit
- Created: 2023-03-30T19:33:16.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-11T19:33:53.000Z (3 months ago)
- Last Synced: 2024-08-11T20:41:14.541Z (3 months ago)
- Topics: algotithms, capstone-project, data-structures, dsa, linked-list, project
- Language: JavaScript
- Homepage: https://indexposition.github.io/Linked-List-Text-Editor/
- Size: 19.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Linked List Text Editor - Capstone Project
## Overview
This project is a simple text editor that uses a double linked list to store text. It allows the user to perform basic text editing operations such as inserting and deleting text, as well as undoing and redoing previous changes.
## Technologies Used
- HTML
- CSS
- JavaScript## Features
- Undo and redo functionality using linked list
- Clear text area
- Save and open files## How to Use
To use the text editor, simply open the `index.html` file in a web browser or [Click Here](https://indexposition.github.io/Linked-List-Text-Editor/). The text editor interface will open, allowing you to type and edit text.
You can start typing in the text area, and use the following buttons :1. Undo: Undos the last change made to the text area.
2. Redo: Redos the last change undoed.
3. Clear: Clears the text area (memory) and starts over.
4. Save: Saves the text to a file with a specified name.
5. Open: Opens a previously saved file.## How it Works
This text editor stores text using a doubly linked list data structure. Each node represents a single character and has a reference to the next and previous nodes. The cursor position is tracked by the current node. When a user types a character, a new node is inserted after the current node and the current node is updated. When a user deletes a character, the current node is updated to the previous node. The editing history is tracked using a stack. When an editing operation is performed, the current state is pushed onto the stack. To undo an operation, the previous state is popped from the stack and restored.
## Acknowledgments
- https://www.geeksforgeeks.org/data-structures/linked-list/
- https://www.geeksforgeeks.org/implementation-linkedlist-javascript/
- https://www.tutorialspoint.com/how-to-create-and-save-text-file-in-javascript