angular-runkit

0.6.0 • Public • Published

angular-runkit

Angular RunKit Component.

Install

Install the package.

$ npm i -S angular-runkit

Add the RunKit embed library to your index page:

src/index.html

<head>
    ...
    <script src="https://embed.runkit.com"></script> 
    ...
</head>

Whitelist angular-runkit in your System.js config:

src/systemjs.config.js

map: {
    ...
    'angular-runkit': 'npm:angular-runkit/dist/index.js',
    ...
}

Declare the component in your module:

src/app/app.module.ts

import { RunKitEmbedComponent } from 'angular-runkit'
 
...
 
@NgModule({
    ...
    declarations[
        ...
        RunKitEmbedComponent,
        ...
    ],
    ...
})

Usage

<runkit-embed source='console.log("Hello, world!")'></runkit-embed>

Don't forget to check out the RunKit embed docs.

Inputs

source : string

Specify the source code that the notebook will use.

<runkit-embed source='console.log("Hello, world!")'></runkit-embed>

readOnly : boolean

If true, the user will not be able to edit or run the embed.

<runkit-embed
    source='console.log("Hello, world!")'
    readOnly=true>
</runkit-embed>

mode : string

If 'endpoint', the notebook will be run as an endpoint and a link to the served page will be shown.

<runkit-embed
    source='exports.endpoint = (req, res) => res.end("Hello, world!")'
    mode='endpoint'>
</runkit-embed>

nodeVersion : string

Request a version or semver range for the node engine.

<runkit-embed
    source='console.log("Hello, world!")'
    nodeVersion='7'>
</runkit-embed>

env : [string]

Provide a list of environment variables accessible in the notebook through process.env.

<runkit-embed
    source='console.log(`Hello, ${ process.env.FIRST_NAME } ${ process.env.LAST_NAME }!`)'
    [env]='["FIRST_NAME=Haskell", "LAST_NAME=Curry"]'
    nodeVersion='7'>
</runkit-embed>

title : string

Provide a title for the notebook when opened on RunKit.

<runkit-embed
    source='console.log("Hello, world!")'
    title='Hello'>
</runkit-embed>

minHeight : string

Provide a minimum height for the embed ('130px' by default).

<runkit-embed
    source='console.log("Hello, world!")'
    minHeight='200px'>
</runkit-embed>

packageTimestamp : number

Specify the Unix time in milliseconds at which packages should resolved. Packages published after the date will be ignored.

<runkit-embed
    source='require("babel-core")'
    packageTimestamp=1468195200000>
</runkit-embed>

preamble : string

Specify source code that is run before the main source. This code will not be shown in the embed.

<runkit-embed
    source='console.log(_.map(_.add(1), [1, 2, 3]))'
    preamble='const _ = require("lodash/fp")'>
</runkit-embed>

Outputs

onLoad : function

Provide a callback that is run when the embed is loaded.

<runkit-embed
    source='console.log("Hello, world!")'
    (onLoad)='loaded()'>
</runkit-embed>

onURLChanged : function

Provide a callback that is run whenever the embed's URL changes.

<runkit-embed
    source='console.log("Hello, world!")'
    (onURLChanged)='urlChanged()'>
</runkit-embed>

onEvaluate : function

Provide a callback that is run whenever the embed is evaluated.

<runkit-embed
    source='console.log("Hello, world!")'
    (onEvaluate)='evaluated()'>
</runkit-embed>

Methods

evaluate(callback : function) : void

Evaluate the notebook.

<runkit-embed
    #embed
    source='console.log("Hello, world!")'>
</runkit-embed>
<button (click)='embed.evaluate()'>Run</button>

Readme

Keywords

none

Package Sidebar

Install

npm i angular-runkit

Weekly Downloads

4

Version

0.6.0

License

MIT

Last publish

Collaborators

  • runkit
  • synchronous