Skip to content

Richify offers an easy function to take options and generates a text fully compatible with Roblox's new RichText. Based off of another module, just redone to make it far less complicated.

License

Notifications You must be signed in to change notification settings

arxkdev/Richify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Richify

A simple function to richify your text.

Example

local Richify = require(...);

-- Constants
local GEMS = "1,000 Gems!";
local RichifyExampleLabel = script.Parent.TextLabel;

-- Define our options
local GemOpts = {
	Stroke = {
		Thickness = 1,
		Transparency = 0.25,
		Color = Color3.fromRGB(0, 162, 255)
	},

	Font = {Color = Color3.fromRGB(255, 255, 255)},
	Bold = true,
}

local TextOps = {
	Font = {Color = Color3.fromRGB(255, 255, 255)},
}

-- Richify our text
local Text = "You have " .. Richify(GEMS, GemOpts);
RichifyExampleLabel.Text = Richify(Text, TextOps);

Result of Example

alt text

Usage

Works pretty simple. All you need to do is check (https://create.roblox.com/docs/building-and-visuals/ui/rich-text) for TAGS and ATTRIBUTES. Find the ones you want & include in the richify options.

local Options = {
	Stroke = {
		Thickness = 1,
		Transparency = 0.25,
		Color = Color3.fromRGB(0, 162, 255)
	},

	Font = {Color = Color3.fromRGB(255, 255, 255)},
	Bold = true,
}

Set the options to the Richify function (make sure to keep elements/tags first in the options and attributes, nested)

local Text = "Hello World!";
local Richifed = Richify(Text, Options);
print(Richified);
-- Result: <font color="rgb(255,255,255)"><stroke thickness="1" transparency="0.25" color="rgb(0,162,255)"><b>Hello World!</b></stroke></font>

Available Elements:

{
	["Font"] = "font",
	["Stroke"] = "stroke",
	["Bold"] = "b",
	["Italic"] = "i",
	["Underline"] = "u",
	["Strikethrough"] = "s",
	["Uppercase"] = "uc",
	["SmallCaps"] = "sc"
}

Available Attributes:

{
	["Color"] = "color",
	["Size"] = "size",
	["Face"] = "face",
	["Family"] = "family",
	["Weight"] = "weight",
	["Transparency"] = "transparency",
	["Joins"] = "joins",
	["Thickness"] = "thickness"
}

Helper Variables

There are helper variables available to sub in your strings to prevent RichText from getting confused:

Richify.LineBreak
Richify.LessThan
Richify.GreaterThan
Richify.Quote
Richify.Apostrophe
Richify.Ampersand

For example, if you want to use 'Hello <world>!' you can use this:

local foo = Richify.LessThan .. "world" .. Richify.GreaterThan;
local bar = `Hello {foo}!`;
print(bar);
-- Result: Hello <world>!

This is based off of a RichText helper already made, just redone to make it far less complex and got rid of bloated code.

About

Richify offers an easy function to take options and generates a text fully compatible with Roblox's new RichText. Based off of another module, just redone to make it far less complicated.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages