Expand description
§Manganis CLI Support
This crate provides utilities to collect assets that integrate with the Manganis macro. It makes it easy to integrate an asset collection and optimization system into a build tool.
use manganis_cli_support::{AssetManifestExt, ManganisSupportGuard};
use manganis_common::{AssetManifest, Config};
fn main() {
use std::process::Command;
// This is the location where the assets will be copied to in the filesystem
let assets_file_location = "./assets";
// This is the location where the assets will be served from
let assets_serve_location = "/assets";
// First set any settings you need for the build
Config::default()
.with_assets_serve_location(assets_serve_location)
.save();
// Next, tell manganis that you support assets
let _guard = ManganisSupportGuard::default();
// Then build your application
Command::new("cargo")
.args(["build"])
.spawn()
.unwrap()
.wait()
.unwrap();
// Then collect the assets
let manifest = AssetManifest::load();
// Remove the old assets
let _ = std::fs::remove_dir_all(assets_file_location);
// And copy the static assets to the public directory
manifest
.copy_static_assets_to(assets_file_location)
.unwrap();
// Then collect the tailwind CSS
let css = manifest.collect_tailwind_css(true, &mut Vec::new());
// And write the CSS to the public directory
std::fs::write(format!("{}/tailwind.css", assets_file_location), css).unwrap();
}
Structs§
- Asset
Manifest - A manifest of all assets collected from dependencies
- Config
- The configuration for collecting assets
- CssOptions
- The options for a css asset
- File
Asset - A file asset
- File
Location - The location of an asset before and after it is collected
- Font
Options - The options for a font asset
- Image
Options - The options for an image asset
- Manganis
Support Guard - This guard tells the marco that the application is being compiled with a CLI that supports assets
- Metadata
Asset - A metadata asset
- Package
Assets - All assets collected from a specific package
- Tailwind
Asset - A tailwind class asset
- Tailwind
Warning - Unknown
File Options - The options for an unknown file asset
- Video
Options - The options for a video asset
Enums§
- Asset
Type - The type of asset
- File
Options - The options for a file asset
- File
Source - The source of a file asset
- Font
Type - The type of a font
- Image
Type - The type of an image
- Video
Type - The type of a video
Traits§
- Asset
Manifest Ext - An extension trait CLI support for the asset manifest
Functions§
- add_
asset - Adds an asset to the current package
- clear_
assets - Clears all assets from the current package
- get_
mime_ from_ ext - Get the mime type from a URI using its extension
- process_
file - Process a specific file asset