An open-source project that categorizes handy code snippets across various programming languages. Built with love and powered by an awesome community. 🚀
Want to help make QuickSnip even better? You can contribute by:
- Improving the Code: Fix bugs, suggest new features, or optimize the project.
- Adding New Snippets: Share your favorite snippets to grow the database.
Be sure to check out the CONTRIBUTING.md file for detailed guidelines.
-
Reporting bugs
- If you spot a bug in the codebase or issues with the documentation, please open up a GitHub issue detailing the problem before creating a PR.
- Once confirmed with maintainers, you can then create a PR.
-
Proposing new features
- If you are interested in proposing new features, please open up a new GitHub discussion with details for the proposed feature.
- Please do not create a PR for a new feature without first discussing it with the maintainers. If you create a PR for a new feature without discussing it first, then your PR will be closed.
The snippets database is located in the /snippets
folder.
-
Find the relevant language folder.
-
Locate the appropriate category folder for your snippet.
-
Create a markdown file and add your snippet using the following format:
---
title: Name of the snippet
description: A short explanation of what the snippet does
tags: tag1, tag2, tag3
author: your-github-username
---
```lang
// Your code here
```
Here's an example for JavaScript:
---
title: Format Date
description: Formats a date in 'YYYY-MM-DD' format.
author: dostonnabotov
tags: javascript,date,format
---
```js
const formatDate = (date) => date.toISOString().split('T')[0];
// Usage:
console.log(formatDate(new Date())); // Output: '2024-12-10'
```
Expected file structure:
/snippets
|- language
|- category-name
|- your-snippet-here.md
Please do NOT add or edit anything in
/public
folder. It will be used for consolidating snippets.
To test that your snippets are formatted correctly use the snippets:check
script:
$ npm run snippets:check
It will return nothing if they are well formatted, otherwise it will tell you what the error is.
To preview the snippets, you need to consolidate them, use the snippets:consolidate
script:
$ npm run snippets:consolidate
It will update the snippets in the /public
folder, making them available to the frontend.
For more details about adding new categories or programming languages, check out the CONTRIBUTING.md file.
To keep things smooth and consistent, please:
- Follow the style and contribution guidelines of this project.
- Include all mandatory fields in the snippet.
- Test your snippet to ensure it works as expected.
Following these guidelines helps us (and everyone else) review and merge your contributions faster.
If you fail to meet the guidelines, your PR will most likely get rejected.
QuickSnip is licensed under the MIT License. Feel free to use and share it as you like.