Skip to main content

Crate tinted_builder_rust

Crate tinted_builder_rust 

Source
Expand description

§tinted-builder-rust

Matrix Chat Crates.io Tests

A builder for base16 and base24 templates using the 0.11.1 builder specification.

This crate contains a command-line tool to build base16 and base24 templates. It is also a library crate which you can use to directly build templates within your own Rust application.

§Table of Contents

§Installation

Cargo

cargo install tinted-builder-rust

Homebrew

brew tap tinted-theming/tinted
brew install tinted-builder-rust

Binaries

Download the relevant binary from the repository releases page.

§Basic Usage

tinted-builder-rust sync # To sync with latest schemes
tinted-builder-rust build path/to/base16-template

§Commands

The following is a table of the available subcommands for the CLI tool (tinted-builder-rust), including the descriptions and any notable arguments.

SubcommandDescriptionArgumentsExample UsageFlags
syncInstalls and or updates latest schemes.-tinted-builder-rust sync--quiet (silence stderr and stdout)
buildBuilds the themes of a template.template_path: Path to template directory.tinted-builder-rust build ./path/to/base16-template--quiet (silence stderr and stdout), --sync (equivalent of running tinted-builder-rust sync before tinted-builder-rust build)

§Flags

Flag/OptionDescriptionApplicable SubcommandsDefault ValueExample Usage
--schemes-dir -sPath to local schemes directories. Used by build to find schemes and by sync to clone/pull into those paths.build, syncDefaults to <data-dir>/schemestinted-builder-rust build . -s /path/one -s /path/two
--ignore -iOne or more glob patterns to skip when scanning schemes. Repeat this flag to add multiple ignores.build-tinted-builder-rust build . --ignore "**/LICENSE"
--data-dir -dSpecifies a custom path for the data directory.AllLinux: $XDG_DATA_HOME/tinted-theming/tinted-builder-rust. macOS: ~/Library/Application\ Support/tinted-theming/tinted-builder-rusttinted-builder-rust sync --data-dir /path/to/custom/data-dir
--help -hDisplays help information for the subcommand.All-tinted-builder-rust --help, tinted-builder-rust build --help, etc
--version -VShows the version of tinted-builder-rust.All-tinted-builder-rust --version

§List usage

tinted-builder-rust supports an options.list config property which enables for accessing a scheme list in a single file.

template-repo/templates/config.yaml:

some-base16-list:
    filename: "base16-list.md"
    supported-systems: [base16]
    options:
        list: true

some-base24-list:
    filename: "base24-list.md"
    supported-systems: [base24]
    options:
        list: true

list-all:
    filename: "list-all.md"
    supported-systems: [base16, base24]
    options:
        list: true

With an example template being templates/some-base16-list.mustache:

{{#schemes}}
  {{system}}-{{slug}} (variant: {{variant}})
{{/schemes}}

Note: These are unofficial scheme-systems, meaning it’s not part of the Tinted Theming scheme specification.

§Builder specification

tinted-builder-rust implements the 0.11.1 builder specification. This specification details the scheme yaml format or schema as well as the variables the builder should provide when rendering template mustache file. Have a look at the builder specification document for more details.

§Contributing

Contributions are welcome! Have a look at CONTRIBUTING.md for more information.

§License

tinted-builder-rust falls under the GPL-3.0 license. Have a look at the LICENSE file.

Re-exports§

pub use crate::operations::build as operation_build;
pub use operations::build::build;

Modules§

operations
utils