cli dollcode encoder and decoder
Rust 91.1%
Nix 8.9%
29 1 7

Clone this repository

https://tangled.org/da157.id/porcelain
git@tangled.org:da157.id/porcelain

For self-hosted knots, clone URLs may differ based on your setup.

README.md

porcelain#

cli dollcode encoder and decoder

example usage#

encode#

porcelain encode 893271
# ▖▖▘▘▌▘▌▌▘▘▘▌▌
porcelain encode 0xda157
# ▖▖▘▘▌▘▌▌▘▘▘▌▌
porcelain encode -x da157 # or --hex
# ▖▖▘▘▌▘▌▌▘▘▘▌▌
porcelain encode --string hello # or -s
# ▖▖▖▌▘▖▖▌▘▘▌▖▌▖▘▌▖▌▖▖▘▌▌▘▖

decode#

porcelain decode ▖▖▖▌▘▖▖▌▘▘▌▖▌▖▘▌▖▌▖▖▘▌▌▘▖
# decimial: 448378203247, hexadecimal: 68656C6C6F, string: hello
porcelain decode -d ▖▖▘▘▌▘▌▌▘▘▘▌ # or --decimial
# 893271
porcelain decode --hex ▖▖▘▘▌▘▌▌▘▘▘▌▌ # or -x
# DA157
porcelain decode --string ▖▖▖▌▘▖▖▌▘▘▌▖▌▖▘▌▖▌▖▖▘▌▌▘▖ # or -s
# hello

packaged#

crates.io#

cargo install porcelain

nix flake#

run without installing

nix run https://codeberg.org/da157/porcelain/archive/main.tar.gz -- encode 0xda157

install onto nixos system (with flakes)

# flake.nix
{
  inputs = {
    # ...
    porcelain = {
      url = "https://codeberg.org/da157/porcelain/archive/main.tar.gz";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs = { nixpkgs, ... }@inputs: {
    nixosConfigurations.default = nixpkgs.lib.nixosSystem {
      modules = [ ./configuration.nix ];
      specialArgs = { inherit inputs; };
    };
  }
}
# configuration.nix
{ pkgs, inputs, ... }:
{
  environment.systemPackages = [
    inputs.porcelain.packages.${pkgs.stdenv.hostPlatform.system}.porcelain
  ];
}