I-Love-Old-Code is a simple code snippet manager. It allows you to store and revisit code snippets, assign tags to them, save them to a folder, and the best part is that the code snippets are syntax highlighted, thanks to monaco-editor, which is the backbone of Visual Studio Code. It also includes an automatic code language detection feature called vscode-languagedetection.
Feel free to try out "I-Love-Old-Code" here.
- Clone the repository.
- Install all the NPM packages:
npm install
. - Start the application in development mode:
npm run dev
.
The project currently only saves the code snippets in a session.
Please feel free to look at the contribution page if you would like to add support for a database.
Checkout the lib/data.context.tsx
file to find the implementation of the current session storage.
I have already abstracted the layer, so it should be relatively easy to add support for a database.
This project is built with the following technologies:
Next.js enables you to create full-stack web applications by extending the latest React features and integrating powerful Rust-based JavaScript tooling for the fastest builds.
Shadcn is a library containing many UI components.
Monaco Editor is a powerful and open-source code editor for the web. I used this editor in the project to make the code snippets look visually appealing and not just plain black text on a white screen. It also provides intellisense, allowing you to code your snippets directly in the UI.
With this project, I aimed to create a super simple code snippet manager that I would personally use. The manager serves as a knowledge database, allowing programmers to store and easily access their favorite code snippets.
I also wanted to gain experience with Shadcn as I was impressed by it after watching a video. It turned out to be just as nice as I expected. I highly recommend giving it a try.
First and foremost, please note that this is a hobby project, so there are no guarantees for future changes. If I find the time and motivation, I will continue working on it. However, please feel free to contribute or open issues.
Feature list:
- Adding a search bar
- Adding filters
- Database support (MySQL?)
- More customization options (e.g., setting for preferred theme for the Monaco Editor)
- Fixing responsiveness on mobile devices
See the contribution guide and join our amazing list of contributors!
This project is licensed under the MIT License.