Class Recipe
A recipe contains instructions how to generate tags etc. which can contain multiple resized images
[InternalApi_DoNotUse_MayChangeWithoutNotice("Still Beta / WIP")]
public class Recipe : ICanDump
- Inheritance
-
objectRecipe
- Implements
Remarks
All the properties are read-only. If you need to override anything, copy it and set the modified values, then use the copy.
Constructors
Recipe(string?, string?, string?, string?, int, bool?, bool?, string?, IDictionary<string, object?>?, IEnumerable<Recipe>?)
Lighter constructor for json, without parameter Recipe.
Important If you call this from your code, always use named parameters, as the parameter order can change in future.
[JsonConstructor]
public Recipe(string? name = null, string? forTag = null, string? forFactor = null, string? forCss = null, int width = 0, bool? setWidth = null, bool? setHeight = null, string? variants = null, IDictionary<string, object?>? attributes = null, IEnumerable<Recipe>? recipes = null)
Parameters
namestringAn optional name
forTagstringRestricts the rule to only apply to specific tags - ATM
imgandsourceforFactorstringRestricts the rule to only apply to resizes for a specified factor
forCssstringRestricts the rule to only apply to pages which have the specified CSS Framework
widthintInitial width to use when resizing
setWidthbool?Set the
widthattribute if the img width is knownsetHeightbool?Set the
heightattribute if the img-height is knownvariantsstringSpecial string containing variants to generate
attributesIDictionary<string, object>List of attributes to set on the
imgtagrecipesIEnumerable<Recipe>List of additional recipes which will all inherit values from this master after creation
Recipe(Recipe?, string?, string?, string?, string?, int, bool?, bool?, string?, IDictionary<string, object?>?, IEnumerable<Recipe>?)
Important
If you call this from your code, always use named parameters, as the parameter order can change in future.
public Recipe(Recipe? original, string? name = null, string? forTag = null, string? forFactor = null, string? forCss = null, int width = 0, bool? setWidth = null, bool? setHeight = null, string? variants = null, IDictionary<string, object?>? attributes = null, IEnumerable<Recipe>? recipes = null)
Parameters
originalRecipeAn original recipe to copy if we want to get a modified recipe based on one which already existed.
namestringAn optional name
forTagstringRestricts the rule to only apply to specific tags - ATM
imgandsourceforFactorstringRestricts the rule to only apply to resizes for a specified factor
forCssstringRestricts the rule to only apply to pages which have the specified CSS Framework
widthintInitial width to use when resizing
setWidthbool?Set the
widthattribute if the img width is knownsetHeightbool?Set the
heightattribute if the img-height is knownvariantsstringSpecial string containing variants to generate
attributesIDictionary<string, object>List of attributes to set on the
imgtagrecipesIEnumerable<Recipe>List of additional recipes which will all inherit values from this master after creation
Properties
Attributes
Attributes to add to the img tag
public IDictionary<string, object?> Attributes { get; }
Property Value
- IDictionary<string, object>
Remarks
System.Text.Json requires that the case-insensitive property name and type match the parameter in the constructor. We are using string/object because a value could also be { "name": true, "other-name": 5 } in the json configuration
ForCss
WIP, not implemented yet
public string? ForCss { get; set; }
Property Value
ForFactor
Determines which factors this recipe should be applied to. Null means any factor.
public string? ForFactor { get; }
Property Value
ForTag
TODO: DOC
img,source
public string? ForTag { get; }
Property Value
Name
Just an identifier - no technical use
public string? Name { get; }
Property Value
Recipes
wip TODO: DOC
public IEnumerable<Recipe> Recipes { get; }
Property Value
Remarks
System.Text.Json requires that the case-insensitive property name and type match the parameter in the constructor.
SetHeight
Determines if the img tag will receive a height-attribute
public bool? SetHeight { get; }
Property Value
- bool?
SetWidth
Determines if the img tag will receive a width-attribute
public bool? SetWidth { get; }
Property Value
- bool?
Variants
Source-Set rules (comma separated) which will determine what will be generated.
Examples:
1x,1.5x,2x- screen resolutions200w,400w,600w,800w,1000w- pixel sizes0.5*,1*,1.5*,2*- multipliers of the originally specified pixel size
Important: According to the HTML standard you can mix pixel-sizes and multipliers, but not resolutions with any of the other types.
public string? Variants { get; }
Property Value
Width
The initial width to assume in this resize, from which other sizes would be calculated.
If set to 0, it will be ignored.
public int Width { get; }
Property Value
Methods
Dump()
Create a string dump of the current objects state/contents.
public string Dump()