The Expressionist is a web-extension that allows you to express yourself better by implementing a text expression evaluator.
- Evaluate any javascript expression.
- Configurable
- Keybinds
- Start and End characters
{{
and}}
- Super expressive Expressions
- Custom text functions
- Nested expression
- Preprocessors
- Aliases
- Plugins
- Custom Transformers
- Define your own functions.
- Work In Progress Babel precompilation
- Prevent infinite loops.
- Use the newest js language features
- Work In Progress Error reporting
{{ 1 + 1 }}
=>2
- Most basic expression
{{ 1 + {{ 2 + 2 }} }}
=>5
- Nested expressions
{{1+{{2+2}}}}
=>5
- Expressions are free-form
{{!repeat 2 Hello World}}
=>Hello World Hello World
- Gets precompiled for convenients
repeat
is a custom text processing function. It receives the string after the call, and in this case it parses the number and repeats the string.- Is equivalent to
{{repeat("2 Hello World");}}
1+1 = {{1+1}} :)
=>1+1 = 2 :)
- Expressions can be mixed with text
- Clone this repository to your local drive.
git clone <repo_url>
- Open a terminal in the cloned foler.
- Install dependencies
npm install
- Build the project
npm run build
- Follow the Setup Guide
- Open your browser's extension page (This example uses chrome)
- Enable the developer-mode.
- Choose "Load Unpacked extension"
- Navigate into the "dist" folder and select it.
- Profit
- Follow setup instructions
- Run jest
npm run test
- or (for automatically-rerunning the tests when the source changes)
npm run test:watch
- Profit