https://github.com/rattleycooper/spinim
Spintax for Nim!
https://github.com/rattleycooper/spinim
spin spinner spinning-syntax spintax text-spinner
Last synced: about 1 year ago
JSON representation
Spintax for Nim!
- Host: GitHub
- URL: https://github.com/rattleycooper/spinim
- Owner: RattleyCooper
- License: mit
- Created: 2020-09-04T20:04:15.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-04-02T17:33:31.000Z (about 2 years ago)
- Last Synced: 2024-04-02T18:37:08.349Z (about 2 years ago)
- Topics: spin, spinner, spinning-syntax, spintax, text-spinner
- Language: Nim
- Homepage:
- Size: 14.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Spinim
A Nim module for parsing spintax; unlike other modules, this also allows nested spintax.
## Install
`nimble install https://github.com/RattleyCooper/spinim`
# What is spintax
Spintax (also known as spin syntax) is a way to create random strings that have the same or similar meaning.
Spintax is very useful as it can be used in programs such as chat bots or video game character speech, it allows the dialog to not sound so repetitive and robotic. Spintax also has great applications in voice assistants such as in Amazon's Alexa, you can easily make skills (apps for the Alexa) that respond without saying the exact same thing every time.
# The syntax
Spintax replaces braces (also known as curly brackets, {}) containing text with a random predefined string. The random string is defined withing the braces by using a pipe | as a separator.
##### Simple example:
"{Hey|Hello|Hi} this is {spin syntax|spintax}{.|!|}"
##### Can produce:
* Hey this is spintax.
* Hi this is spin syntax
* Hello this is spintax
* Hi this is spintax!
##### Example of Nested Spintax:
"This is nested {{s|S}pintax|spin syntax}"
##### Can produce:
- This is nested Spintax
- This is nested spin syntax
- This is nested spintax
```Nim
import spinim
echo spin("{Simple|Easy} {example|demonstration}")
```