You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 26, 2022. It is now read-only.
Rant is a language for adding rich variations to text. It combines a markup language with functional and imperative programming concepts to deliver a concise but powerful tool for procedurally generating text. The goal of Rant is to augment human creativity with the boundless potential of randomness, enabling content producers to consider their next idea as not just a concept, but a seed for countless possibilities.
18
+
Rant is a language for procedurally generating text. It combines a markup language with functional and imperative programming concepts to deliver a concise but powerful tool for adding rich variations to your text. The ultimate goal of Rant is to augment human creativity with the boundless potential of randomness, helping content producers consider their next ideas as not just static concepts, but seeds of countless possibilities.
10
19
11
-
###Features
12
-
Some of the highlights of what Rant offers:
20
+
##Features of Rant
13
21
14
-
* Recursive, branching choices with various selection strategies (random, ordered, locked...)
15
-
* Access to external dictionaries using queries
16
-
* Word rhyming using pronunciation metadata
17
-
* Synchronize sections of random output
18
-
* Automatic capitalization
19
-
* Indefinite article (a/an) automation
20
-
* Multiple outputs (channels)
22
+
* Recursive, weighted branching with customizable selection strategies
23
+
* Dictionary queries
24
+
* Automation for capitalization, rhyming, and indefinite articles
25
+
* Multiple output support
26
+
* Richard, an experimental embedded scripting language
21
27
* Probability modifiers
22
-
* Overwriting (targets)
23
-
* Looping (repeaters)
24
-
* Conditionals
25
-
* List objects
26
-
* Subroutines
27
-
* Arithmetic
28
-
**And much, much more...*
28
+
* Loops, conditionals, and subroutines
29
+
* Package loader for easy resource management
30
+
* Unmanaged function exports for use in C/C++ applications *(Windows only, sorry!)*
31
+
* Compatible with Unity
32
+
***And a whole lot more!**
29
33
30
34
##Examples
31
35
32
-
**Generate random sentence**
36
+
**Fill in the blanks**
33
37
```
34
38
<name-male> likes to <verb-transitive> <noun.plural> with <pron.poss-male> pet <noun-animal> on <timenoun.plural-dayofweek>.
35
39
```
36
40
```
37
41
Alick likes to mount shuttlecocks with his pet bat on Mondays.
38
42
```
39
43
40
-
**Generate ten random numbers between 1 and 50 and spell them out using US spelling conventions**
44
+
---
45
+
46
+
**Generate ten random numbers between 1 and 50 and spell them out**
**Generate 32 random hexadecimal digits grouped into sets of eight**
56
+
**Write a poem**
51
57
```
52
-
[rep:4][sep:\s]{\8,x}
53
-
54
-
Alternatively...
55
-
56
-
[rep:32]{\x[notlast:[nth:8;0;\s]]}
58
+
[rhyme:perfect]
59
+
The <noun(1)::&a> <verb.ed(1)-transitive::&a> the <adj::&a> <noun(1)::&a>.
57
60
```
58
61
```
59
-
6fb34d31 42e27a48 5884bce5 bf743ec8
62
+
The bread fed the red head.
63
+
```
64
+
```
65
+
The drug dug the smug plug.
60
66
```
61
67
62
68
---
63
69
64
-
**Insert text into existing output**
70
+
**?????**
65
71
```
66
-
The following word is [get:N] characters long: \"[mark:a]<noun-animal|fruit>[mark:b]\"
67
-
[send:N;[dist:a;b]]
72
+
[rs:16;\N]
73
+
{
74
+
[r:50]{([rr])\u2593|([re])\s}
75
+
}
68
76
```
69
77
```
70
-
The following word is 7 characters long: "kumquat"
78
+
▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓ ▓ ▓ ▓ ▓
79
+
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓ ▓ ▓▓▓ ▓ ▓
80
+
▓▓▓▓▓▓ ▓▓▓▓▓ ▓ ▓▓▓ ▓ ▓ ▓ ▓▓▓▓ ▓▓ ▓ ▓
81
+
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓ ▓ ▓ ▓ ▓▓ ▓▓ ▓▓
82
+
▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓ ▓ ▓▓ ▓ ▓ ▓ ▓ ▓ ▓▓▓▓ ▓
83
+
▓▓▓▓▓▓▓▓▓▓ ▓▓▓ ▓▓▓▓▓▓ ▓ ▓ ▓▓
84
+
▓▓▓▓▓▓ ▓▓▓ ▓▓▓ ▓▓ ▓▓ ▓ ▓▓ ▓▓▓ ▓ ▓ ▓ ▓ ▓
85
+
▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓ ▓▓ ▓▓ ▓▓▓▓ ▓▓▓ ▓
86
+
▓▓▓▓▓▓▓▓▓▓ ▓▓▓ ▓▓▓▓▓▓▓ ▓▓ ▓
87
+
▓▓▓▓▓▓▓▓ ▓▓ ▓▓▓▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓▓
88
+
▓▓▓▓▓▓▓▓▓▓ ▓ ▓ ▓▓ ▓ ▓▓▓▓▓▓▓ ▓ ▓ ▓
89
+
▓▓▓▓▓▓▓▓▓▓ ▓ ▓▓ ▓▓▓ ▓▓▓▓▓ ▓ ▓▓
90
+
▓▓▓▓ ▓▓▓▓▓▓▓ ▓▓▓ ▓ ▓▓▓ ▓ ▓ ▓ ▓
91
+
▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓ ▓▓▓ ▓ ▓▓ ▓▓▓ ▓▓ ▓
92
+
▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓ ▓▓▓ ▓▓ ▓▓ ▓ ▓ ▓ ▓
93
+
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓ ▓ ▓ ▓▓▓ ▓
71
94
```
72
95
96
+
73
97
##NuGet
74
98
Rant is also available as a [NuGet package](https://www.nuget.org/packages/Rant/). Punch the following into your package manager console and smash the Enter key enthusiastically to get it:
75
99
```
76
100
PM> Install-Package Rant
77
101
```
102
+
Or if development builds are your thing:
103
+
```
104
+
PM> Install-Package Rant -Pre
105
+
```
106
+
107
+
But remember, the latest version will always be available on the repository first.
78
108
79
109
##License
80
110
Rant is provided under [The MIT License](https://github.com/TheBerkin/Rant/blob/master/LICENSE).
@@ -95,8 +125,9 @@ We have a [Trello board](https://trello.com/b/NnvgqGha/rant) where we also track
95
125
##Learn Rant
96
126
See [rantlang.github.io](http://rantlang.github.io) for full documentation of the API and Rant language, as well as additional example code.
97
127
98
-
##Try Rant
99
-
Want to try Rant before you download anything? Check out [RantBox](http://rant.berkin.me/), an online pattern interpreter I made.
128
+
##Other projects
129
+
If you like Rant, you may also like these other, Rant-related projects:
130
+
*[**RIDE**](http://github.com/RantLang/RIDE): The official (and highly WIP) Rant IDE
131
+
*[**Rantionary**](http://github.com/TheBerkin/Rantionary): The official Rant dictionary
100
132
101
-
##Support Rant
102
-
Rant is free to use; however, developing it takes a lot of time and dedication, and things like hosting and software cost money. If you feel so inclined, you may support the project by donating through **[Gratipay](https://gratipay.com/TheBerkin/)**. Any amount is appreciated :)
0 commit comments