A set of predefined static methods for popular abbreviations. While this is (barely) useful by itself, it mostly serves as:
- playground for fresh open source contributors
- Minimum Viable Product and set of best practices for creating your own library that is automatically tested/versioned and published as a NuGet package
- it should not contain things not really needed to make such MVP, especially on the workflows level
- workflows should be as clean as possible to serve as a starting point when creating a new .NET library
We will see where it will brings us with the contributions!
This is just a bunch of static method that return an interned abbreviation equivalents, like:
Console.WriteLine(Strings.BRB());
will print:
Be right back
An additional option is to use "title casing":
Console.WriteLine(Strings.BRB(titleCase: true));
will print:
Be Right Back
If you want to know how much you gain using the abbreviation, we've got you covered. You can calculate the ratio between the abbreviation and the actual phrase like so:
Strings.GetCompressionRatio("BRB", Strings.BRB());
- BRB - "Be right back"
- IMHO - "In my humble oppinion"
- LMAO - "Laughing my ass off"
- ROTFL - "Rolling on the floor laughing"
- AMA - "Ask me anything"
- YOLO - "You only live once"
- LGTM - "Looks good to me"
- TFW - "That feel when"
Strings.Abbreviations
is build, tested and published as a NuGet package with the use of Github Actions. They implement a minimum set of desirable features from the library author point of view.
Currently there are two "pipelines" defined:
- building and testing - every push and PR to
master
will trigger building and unit testing the whole repository. Thanks to that the result of the tests are available as an additional PR check. And we have a "badge" available on the top of this file. - building and publishing a NuGet package - every push to
master
that bumps upVersion
in thecsproj
file will trigger building and publishing a new NuGet package. Additionally, a new git tag will be added with the same version. It uses Publish NuGet custom Github Action - creating a release - after a new tag (with version) has been pushed in the
publish-nuget.yml
workflow, this one will create a new release with this version
Your contributions to this library is more than welcome. This is a playground, we need to keep the logic working, but feel free to suggest any new features (I count on your creativity!) or fix any bugs (unlikely there are any!). Or, if you would like to help with already reported bugs or features, check out the list of issues and grab one.