Go to file
2024-04-30 10:36:36 -04:00
.config Initial commit 2024-01-27 22:05:30 -05:00
.github Revert back to v0.2.0 2024-04-30 10:36:36 -04:00
.vscode Initial commit 2024-01-27 22:05:30 -05:00
src/ConsoleApp Bump Magick.NET-Q16-AnyCPU from 13.6.0 to 13.7.0 in /src/ConsoleApp (#10) 2024-04-30 14:28:08 +00:00
.gitignore Initial commit 2024-01-27 22:05:30 -05:00
GitVersion.yml Initial commit 2024-01-27 22:05:30 -05:00
global.json Initial commit 2024-01-27 22:05:30 -05:00
LICENSE Initial commit 2024-01-27 22:05:30 -05:00
nuget.config Initial commit 2024-01-27 22:05:30 -05:00
README.md Add additional info 2024-02-01 12:27:46 -05:00
TwemojiConverter.sln Initial commit 2024-01-27 22:05:30 -05:00

TwemojiConverter Build ConsoleApp workflow Generate PNGs

This repo is for a CLI tool to convert Twemoji (Specifically Discord's fork) SVG files to PNG files. While there are PNG assets included in the Twemoji repo, they are lower resolution (72px). This tool allows for converting the SVG files to any resolution. In addition, it can also get various details about each emoji. It is taking advantage of .NET's Native AOT deployment model, so it doesn't require the .NET runtime to be installed to run the tool.

A workflow is setup in this repo to convert the SVG files to PNG files (In 128px, 256px, and 512px variants) on a weekly basis. You can get the artifacts from any of the jobs here.

🏗️ Building from source

🧰 Pre-requisites

  • .NET 8 SDK
    • You will also need to install the pre-requisites for your platform located here.
      • For Linux based platforms, you primarily need to ensure that packages for clang and zlib (dev) packages are installed to your system.

🧱 Building

⚠️ Note:

Before building, you need to know the "runtime identifier" for your platform. For simplicity, these docs will use linux-x64. Replace that value with what you use, if needed.

For example if:

  • You're building on a x64 Linux-based system, the identifier would be linux-x64.
  • You're building on an Apple-silicon macOS system, the identifier would be osx-arm64.

Command-line

  1. Set your current directory to where you cloned the repo.
  2. Run the following command:
dotnet publish ./src/ConsoleApp/ --configuration "Release" --output "./build/" --runtime "linux-x64" --self-contained

The compiled binary will be located in the ./build/ directory in the local repo.

Visual Studio Code

  1. Open the command palette (Shift+Ctrl+P (Windows/Linux) / Shift+Cmd+P (macOS)).
  2. Type in Tasks: Run Task and press Enter.
    • Ensure that is the selected option before pressing Enter.
  3. Select Publish: ConsoleApp.
  4. Select your platform's runtime identifier.

The compiled binary will be located in the ./build/ directory in the local repo.

🗂️ Dependencies used

🤝 License

The source code for this project is licensed with the MIT License.