Git Product home page Git Product logo

sourcebit-sample-plugin's Introduction

sourcebit-sample-plugin

npm version

A sample plugin for Sourcebit

๐Ÿ‘ฉโ€๐Ÿซ Introduction

This is a simple Sourcebit plugin for development and educational purposes. It retrieves entries from a remote API located at https://jsonplaceholder.typicode.com/. If the watch option is supplied, one of the entries will be randomly picked every 3 seconds and a string containing "(updated)" will be appended to the body field.

For details on how Sourcebit plugins work and the requirements for creating a new plugin, please check out contribution guidelines.

For a step-by-step walkthrough on building a Sourcebit plugin, check out our tutorial at: https://www.stackbit.com/blog/sourcebit-plugin/

๐Ÿ— Installation

To install the plugin and add it to your project, run:

npm install sourcebit-sample-plugin --save

๐Ÿ’ก You don't need to run this command if you start Sourcebit using the interactive setup process, as the CLI will install the plugin for you and add it as a dependency to your project.

โš™๏ธ Configuration

The plugin accepts the following configuration parameters. They can be supplied in any of the following ways:

  • In the options object of the plugin configuration block inside sourcebit.js, with the value of the Property column as a key;
  • As an environment variable named after the Env variable column, when running the sourcebit fetch command;
  • As part of a .env file, with the value of the Env variable column separated by the value with an equals sign (e.g. MY_VARIABLE=my-value);
  • As a CLI parameter, when running the sourcebit fetch command, using the value of the Parameter column as the name of the parameter (e.g. sourcebit fetch --my-parameter).
Property Type Visibility Default value Env variable Parameter Description
mySecret String Private MY_SECRET A secret value. Not actually used by the plugin, purely for demonstration purposes.
watch Boolean Public false watch Whether to update entries on a regular interval.
titleCase Boolean Public false Whether to convert the value of the title field to title-case

๐Ÿ‘€ Example configuration

sourcebit.js

module.exports = {
    plugins: [
        {
            module: require('sourcebit-sample-plugin'),
            options: {
                titleCase: true
            }
        }
    ]
};

๐Ÿงžโ€โ™‚๏ธ Interactive setup process

This plugin offers an interactive setup process via the npx create-sourcebit command.

๐Ÿ“ฅ Input

N/A

๐Ÿ“ค Output

This plugin adds normalized entries to the objects data bucket and normalized model objects to the models data bucket.

๐Ÿ‘ท๐Ÿปโ€โ™€๏ธ Development

The example directory contains a basic installation of Sourcebit with this sample plugin installed and configured. It's a good way to develop a plugin locally.

To run it, run:

cd example
npm install

# Run Sourcebit in the command-line
npm run sourcebit-cli

# Run Sourcebit in a Node.js application
npm run sourcebit-node

sourcebit-sample-plugin's People

Contributors

dmgawel avatar eduardoboucas avatar remotesynth avatar smnh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.