Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@stoplight/elements

Package Overview
Dependencies
Maintainers
18
Versions
544
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@stoplight/elements

UI components for composing beautiful developer documentation.

  • 2.11.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
30K
increased by80.78%
Maintainers
18
Weekly downloads
 
Created
Source

@stoplight/elements

npm version Storybook

UI components for composing beautiful developer documentation

Installation

Supported in modern browsers and node.

# latest stable
yarn add @stoplight/elements

Usage

import { Page, Provider, TableOfContents } from '@stoplight/elements';

<Provider>
  <div className="flex">
    <TableOfContents srn="gh/stoplightio/elements" />

    <Page className="flex-1" srn="gh/stoplightio/elements/docs/README.md" />
  </div>
</Provider>;

Widgets

Elements can be used as a plain JS library.

Load the elements library:

Add the following script tag to the head tag of your website, BEFORE other css or script tags.

<head>
  <!-- Stoplight Elements -->
  <link rel="stylesheet" href="https://stoplight.io/static/elements/bundle.v1.css" media="print" onload="this.media='all'">
  <script async defer src='https://stoplight.io/static/elements/bundle.v1.js' onload="__onElementsLoad()"></script>
  <script>
    function __onElementsLoad() {
      // Let elements know where the Stoplight API is running
      SL.config.host = "https://stoplight.io/api";

      // Emit the SL.ready event so that any code that needs SL can start using it
      window.dispatchEvent(new Event('SL.ready'));
    }
  </script>
  <!-- End Stoplight Elements -->

  <!-- ... other script and css elements -->
</head>

Global "SL" object:

The global variable made available on the page after the elements library has been loaded.

declare namespace SL {
  interface IWidget {
    srn: string;
    render(htmlId: string, srn: string): void;
    remove(): void;
  }

  // React.createElement
  const createElement: any;

  const config: {
    host?: string;
    token?: string;
    components?: any;
  };

  const elements: {
    hub: IWidget;
    page: IWidget;
    toc: IWidget;
  };
}

Render a table of contents onto the page:

// Takes two arguments - the html element id, and a stoplight SRN for the project table of contents to render.
SL.elements.toc.render('my-container-element-id', 'gh/stoplightio/studio-demo');

Render a specific page:

// Takes two arguments - the html element id, and a stoplight SRN for the node to render (article, api, model, http operation, etc).
SL.elements.page.render('my-container-element-id', 'gh/stoplightio/studio-demo/docs/README.md');

Contributing

  1. Clone repo.
  2. Create / checkout feature/{name}, chore/{name}, or fix/{name} branch.
  3. Install deps: yarn.
  4. Make your changes.
  5. Run tests: yarn test.prod.
  6. Stage relevant files to git.
  7. Commit: yarn commit. NOTE: Commits that don't follow the conventional format will be rejected. yarn commit creates this format for you, or you can put it together manually and then do a regular git commit.
  8. Push: git push.
  9. Open PR targeting the master branch.

FAQs

Package last updated on 05 Sep 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc