- With the increasing use of online communication, it can be difficult to keep up with the ever-changing shorthand and jargon used in digital conversations. Enter Abbreve
- Abbreve solves this problem by providing definitions for these abbreviations with just a search, making it easy for you to understand and participate in online conversations with confidence.
- Abbreve is an open-source dictionary for slang. With Abbreve, you'll never have to feel left out of a conversation or unsure of the meaning of an abbreviation again.
- The dictionary is constantly updated with new slang and abbreviations, so you can always stay current with the latest internet lingo.
You can check out the live project here
All you need to do is start entering a slang in the search bar, and the meaning will be provided. Below the main meaning of the slang could be alternative meanings.
We would love to have you! Abbreve is open source and we are keen on hearing what you have to say. Do check out the code of conduct for rules and guidelines, and our CONTRIBUTING.md file for any steps you might need.
Found a bug? Accessibility issue? Or do you want to add an abbreviation to our database? Then go right ahead and create an issue.
This project uses:
Before installation, you need to have the following:
- Fork this repository.
- In your terminal, clone your fork using
git clone <link to your fork>
. - Run
cd Abbreve
to navigate to project directory. - Run
npm ci
to add node_modules folder.
Running
npm ci
instead ofnpm install
reduces the possibility of making unwaranted changes to thepackage-lock.json
andpackage.json
files. Check the difference and advantages on the npm docs
- To start the server on localhost, run
npm run dev
.
This project uses Vite, but that shouldn't overwhelm you. Everything works pretty much the same.
- Make your changes, push your code, and open a pull request.
Before adding an abbreviation, please make sure that the new entry does not already exist. You can easily check this by entering the slang on the live site to see if it gives a result or not.
For now, we use JSON to store the abbreviations. We hope to improve on this as time goes on.
We provide two ways for adding new abbreviations.
1. Manually adding in the db
directory
2. Using the CLI
This option requires you to manually create definition files in the public/server/db
directory.
Follow the steps below to manually add an abbreviation
-
In the
/public
folder, open the/server
folder and subsequently, the/db
folder you find in it. You can see that each slang is a JSON file of its own. -
To add a new abbreviation, you must create a new file.
- The file name should be the slang you want to add. For example,
lgtm.json
is the file for the slanglgtm
- The file name must be in lowercase. For example,
lgtm.json
notLGTM.json
- The file name should be the slang you want to add. For example,
-
Inside the file you created, create a new object to store the defintion of the slang, and/or alternative definitions. Taking
lgtm
as an example again,{ "definition": "Looks Good To Me", "alternatives": "Looks Great To Me, Looks Great To Merge" }
definition
is the most common abbreviation for the slang, andalternatives
is/are other ways people use the slang. -
As you can see above, the first letter of each word in both
definition
andalternatives
is uppercase. -
If a slang does not have alternatives, add only a
definition
. For example, in theasap.json
file for the slangasap
,{ "definition": "As Soon As Possible" }
ℹ️ If you encounter any issues with the file naming, kindly use the CLI option instead
Using our CLI to add slang is very easy, as it handles all file naming issues and also validates the definitions to ensure that they follow our naming conventions.
Follow the steps below to add new slang using our CLI
- From your terminal, run the
db:entry
script. E.gnpm run db:entry
- Choose the first option (
Add a new abbreviation
)💡 You can choose an option using your up/down arrow keys
- Input the abbreviation you want to add and press
Enter
- After your input, another question pops up, asking if you have alternative definitions. If you do, press
y
, followed byEnter
. If the slang does not have any alternative definition, pressn
thenEnter
.If you have other alternatives, enter the alternative and press
Enter
to add. When you are done add all your alternatives, pressEnter
without entering anything elseℹ️ When adding multiple alternatives, do not separate them with a comma like you would do when manually entering into db. Instead, press
Enter
after each alternative entry until you are done with all your entries. - If you have other slang to add, press
y
and repeat from step 1. Else, pressn
and thenEnter
. - Review your changes in the
public/server/db
directory
If you encounter any error whiles using the CLI, kindly report it here
The GIF below demonstrates how to use the CLI to add new abbreviations
Before pushing your changes, please check and ensure that all your additions follow the naming conventions listed below:
- The slang must be in lowercase. For example,
lol
and notLol
orLOL
- The first letter of each word in the definition and alternatives must be capitalized. For example,
Looks Good To Me
and notLooks good to me
orlooks good to me
Only English slang are accepted as of yet.
💣 Now, GO CREATE THOSE ISSUES AND PULL REQUESTS!
This project is licensed with Apache-2.0 License.
If you like the project, Don't forget to leave a star ⭐ . All support is highly appreciated 💯