Skip to content
Rant – The all-purpose procedural text library
Branch: master
Clone or download
Latest commit 3280a97 Feb 11, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Nov 8, 2018
Rant.Benchmark Make builds *not* prefer 32-bit Jul 17, 2017
Rant.Console Fix solution load error May 3, 2018
Rant.Tests Rant 3.0.3 Jul 5, 2017
Rant.Tools Fix solution load error May 3, 2018
Rant Fix solution load error May 3, 2018
Samples Update drug.rant Apr 23, 2017
docs-src Update docs with new mkdocs, minor typo fixes Dec 9, 2017
docs Update index.html Feb 10, 2019
tools New build config for building docs Jul 25, 2017
.gitattributes
.gitignore
CHANGELOG.md Update version number, document new functions Nov 21, 2017
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Jun 15, 2017
CONTRIBUTING.md Create CONTRIBUTING.md Jun 15, 2017
CREDITS.md Update CREDITS.md Apr 5, 2017
CmdLine.cs Add support for loading single package files in Rant Console. Apr 4, 2017
LICENSE Update LICENSE Feb 28, 2017
README.md Update README.md Feb 11, 2019
Rant.sln Fix solution load error May 3, 2018
Rebracer.xml
appveyor.yml Reduce appveyor build verbosity Jul 25, 2017
mkdocs.yml Hopefully fix appveyor build Jul 25, 2017

README.md

Rant logo


Rant is an all-purpose procedural text engine that is most simply described as the opposite of Regex. It has been refined to include a dizzying array of features for handling everything from the most basic of string generation tasks to advanced dialogue generation, code templating, automatic formatting, and more.

The goal of the project is to enable developers of all kinds to automate repetitive writing tasks with a high degree of creative freedom.

Build status Build status
Join us on the official Discord server!

Features

  • Recursive, weighted branching with several selection modes
  • Queryable dictionaries
  • Automatic capitalization, rhyming, English indefinite articles, and multi-lingual number verbalization
  • Print to multiple separate outputs
  • Probability modifiers for pattern elements
  • Loops, conditional statements, and subroutines
  • Fully-functional object model
  • Import/Export resources easily with the .rantpkg format
  • Compatible with Unity 2017
  • And much, much, much more...

Examples

Liven up a narrative with a few simple queries.

<name-male> likes to <verb-transitive> <noun.pl> with <pro.dposs-male> pet <noun-animal> on <noun.pl  -dayofweek>.
Alick likes to mount shuttlecocks with his pet bat on Mondays.

Count to ten and spell it out.

[case:sentence][numfmt:verbal][rs:10;\s]{[rn].}
One. Two. Three. Four. Five. Six. Seven. Eight. Nine. Ten.

Write a poem

[rhyme:perfect]
The <noun(1)::&a> <verb.ed(1)-transitive::&a> the <adj::&a> <noun(1)::&a>.
The bread fed the red head.
The drug dug the smug plug.

NuGet

Rant is also available as a NuGet package. Enter this command in your package manager, and the latest version of Rant will automagically get installed in your project:

PM> Install-Package Rant

Or if development builds are your thing:

PM> Install-Package Rant -Pre

License

Rant is provided under The MIT License.

Improve Rant

If there is something you want fixed, added, or changed, feel free to submit an issue/pull request; I will try to get back to you within a day. If you would like to translate Rant into your native language, simply write a .lang file for it like this one here.

See CONTRIBUTING.md for a full guide on how you can help.

Rant Resources

Support My Projects


If you love my work, please consider supporting me on Patreon. Alternatively, I also accept donations through PayPal. Donations help me make projects like Rant even better. Thank you.

You can’t perform that action at this time.