JavaScripting

The definitive source of the best
JavaScript libraries, frameworks, and plugins.


  • ×

    Ri Ta Js

    RiTa: the generative language toolkit (in JS)
    Filed under 

    • 🔾28%Overall
    • 228
    • 7.4 days
    • 🕩43
    • 👥6

    Build Status npm version npm version CDNJS Gitter 

    RiTa.js: a generative language toolkit for JavaScript

    The RiTa website

    RiTa.js is designed to an easy-to-use toolkit for experiments in natural language and generative literature, based on the original RiTa library for Java. RiTa.js works alone or in conjunction with p5.js, processing.js, node/npm, or browserify. All RiTa and RiTa.js tools are free/libre/open-source according to the GPL.

    About the project


     

    A simple sketch


    Create a new file on your desktop called 'test.html' and download the latest rita.js from here, add the following lines, save and drag it into a browser:

    <html>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
      <script src="./rita.min.js"></script>
      <script>
        window.onload = function() {
          $('#content').text(RiTa.tokenize("The elephant took a bite!"));
        };
      </script>
      <div id="content" width=200 height=200></div>
    <html>
    

    With node.js and npm


    To install: $ npm install rita

    var rita = require('rita');
    var rs = rita.RiString("The elephant took a bite!");
    console.log(rs.features());
    

    With p5.js


    Create a new file on your desktop called 'test.html' and download the latest rita.js from here, add the following lines, save and drag it into a browser:

    <html>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.4.3/p5.min.js"></script>
      <script src="./rita.min.js"></script>
      <script>
      function setup() {
    
        createCanvas(200,200);
        background(50);
        textSize(20);
        noStroke();
    
        var words = RiTa.tokenize("The elephant took a bite!")
        for (var i=0, j = words.length; i<j; i++) {
            text(words[i], 50, 50 + i*20);
        }
      }
      </script>
    </html>
    

    With browserify and npm


    Install browserify (if you haven't already)

    $ sudo npm install -g browserify
    

    Create a file called 'main.js' with the following code:

    require('rita');
    
    var rs = RiString("The elephant took a bite!");
    console.log(rs.features());
    

    Now install RiTa

    $ npm install rita
    

    Now use browserify to pack all the required modules into bundle.js

    $ browserify main.js -o bundle.js
    

    Create create a file called 'test.html' with a single script tag as below, then open it in a web browser and check the output in the 'Web Console'

    <script src="bundle.js"></script>
    

    With processing.js


    Create a new file on your desktop called 'test.html' and download the latest rita.js from here, add the following lines, save and drag it into a browser:

    <html>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/processing.js/1.4.8/processing.min.js"></script>
      <script src="./rita.min.js"></script>
      <script type="text/processing" data-processing-target="processing-canvas">
        void setup() {
    
          size(200,200);
          background(50);
          textSize(20);
          noStroke();
    
          String words = RiTa.tokenize("The elephant took a bite!");
          for (int i=0, j = words.length; i<j; i++) {
              text(words[i], 50, 50 + i*20);
          }
        }
      </script>
      <canvas id="processing-canvas"> </canvas>
    </html>
    

    Can I contribute?


    Please! We are looking for more coders to help out... Just press Fork at the top of this github page and get started, or follow the instructions below...

    Development Setup


    1. Download and install git, npm, and gulp. If you have them already, move on to step #2.

      a. You can find a version of git for your OS here
      b. The easiest way to install npm is to install node.js
      c. You can install gulp via npm as follows:

       $ npm install -g gulp
      
    2. Fork and clone this library.

      a. First, login to github and fork the project
      b. Then, from a terminal/shell:

       $ git clone https://github.com/dhowe/RiTaJS.git
      
    3. Now navigate into the project folder and install dependencies via npm.

       $  cd RiTaJS && npm install
      
    4. To create the library from src, use gulp.

       $ gulp build
      
    5. Run the tests with gulp.

       $ gulp test
      
    6. Work on an existing issue, then submit a pull request...
    Show All