Skip to content

cables-gl/cables-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cables-cli

npm.org

Command line tool to export and download cables patches from the command line

   _ ____       ________  ___________             ______      ______
._(//   /   ___)\_     /(_\___      /(___        /     /     /     /
|     _/___)\ _  /        _  /          /______)/    _/(___ /     /(_____..___ 
|_    \/      / _         /_/    _/   _//      /    _)     / ____        ||  //
 /          _/  /        /_\     \    \(      /     \    _/   _ /       _||_/  
/___________)__/        __________\____________\______       \\/________)diP
- ------------/________/------------------------------\_______\------------- -    

Installation

Run npm install -g @cables/cables

Create an API key on cables.gl/settings —> navigate to API key —> press Generate. When you first start the tool it will show a prompt for the API key. Once entered your API key will be stored in ~/.cablesrc.

Run

Export

To export and download a cables patch into a specific directory run:

cables --export [CABLES PATCH ID] -d [DESTINATION]

You can find the patch ID by opening your patch in the cables editor – the last part of the URL is the patch ID, e.g.:

https://cables.gl/edit/pQpie9
—> pQpie9 is the patch ID

Example:

cables --export pQpie9 -d "my-patch"

Please note: Running the command will overwrite everything in the my-patch-folder.

Arguments

  • -e / --export [PATCH ID]: Export patch, to use on a webserver
  • -C / --code [PATCH ID],[PATCH ID],[PATCH ID]: Export ops code for patch(es)
  • -p / --patch [PATCH ID]: Export patch, to use in cables standalone
  • -d / --destination [DESTINATION]: Folder to download the patch to, can either be absolute or relative
  • -g / --minify-glsl : Minifies shader-code in .frag and .att attachments
  • -i / --no-index : will not include/overwrite index.html in the export
  • -x / --no-extract : do not extract the downloaded zip file
  • -j / --json-filename [JSON FILENAME] : Define the filename of the patch json file
  • -c / --combine-js : combine javascript and json into a single patch.js
  • -a / --assets <auto|all|none>: export assets of patch, defaults to "auto"
  • -f / --no-subdirs: put js and assets into same directory as index.html ("flat export")
  • -m / --no-minify: do not minify code
  • -M / --sourcemaps: if code is minified, add sourcemaps to the export
  • -D / --dev: export from dev server
  • --api-key: define apikey on the command line, overriding anything that might be in ~/.cablesrc

Use as a module

Install as dependency:

npm install --save @cables/cables

Export:

const cables = require("@cables/cables");
cables.export(options, onFinished, onError);

Simple Export Example:

const cables = require("@cables/cables");

cables.export({
    "patchId": "pQpie9",
    "destination": "patch"
}, onFinished, onError);

function onFinished()
{
    console.log("Export finished!");
}

function onError(err)
{
    console.log("There was an error exporting your patch :/");
}

Advanced Export Example:

const cables = require("@cables/cables");

cables.export({
    "patchId": "pQpie9",
    "destination": "patch",
    "noIndex": true,
    "jsonFilename": "my-patch" /* patch will be stored as my-patch.json */
}, onFinished, onError);

function onFinished(filename)
{
    console.log("Export finished: " + filename);
}

function onError(err)
{
    console.log("There was an error exporting your patch :/");
}

Export Code (-C) Example:

If you just need the op-code of one or more patches you created, you can use the -C option and provide a comma-seperated list of patch-ids to download ops.js with all code included.

This is helpful, when you want to add multiple patches to one page. Download the patches individually (do NOT use --combine-js), load libs and cables.min.js as provided in the individual index.html and swap out ops.js with this download.

cables -C -d "public" pQpie9
var cables = require("@cables/cables");

cables.code({
    "code": "one,two,thee",
    "destination": "patch"
}, onFinished, onError);

function onFinished()
{
    console.log("Export finished!");
}

function onError(err)
{
    console.log("There was an error exporting your patch :/");
}

Use in package.json:

{
    "scripts": {
        "patchup": "cables -c -i -d 'public' -e pQpie9",
        "code": "cables -C -d 'public' pQpie9"
    }
}

The project contains an example-package.json with patchup and deploy as predefined scripts.

Further Infos

For more infos on the cables API see cables API docs.

About

cables command line exporter

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •