Socket
Book a DemoInstallSign in
Socket

atom-themes

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

atom-themes

API and scraper to traverse the Atom themes database

4.0.2
latest
npmnpm
Version published
Weekly downloads
5
25%
Maintainers
1
Weekly downloads
 
Created
Source

Yay, it's the atom-themes library!

Used by atomthemes.io!

Obtain info on the available themes for the Atom editor.

⚛ Installation

Download: npm i --save atom-themes

const themes = require('atom-themes');

Browser version? - Nope. We can't scrape cross domain

⚛ The .get method

themes.get(input, options);

input: Number, string or array. Check below for explanations.
options: Optional configuration object. Available options depend on the type of input.

Fetch theme names on a specific page

themes.get(3, opts).then((names) => console.log(names));

With options:

  • sort: One of 'downloads', 'stars', 'created_at', or 'updated_at'. Default is 'downloads'
  • direction: One of 'desc' or 'asc'. Default is 'desc'.

In the example above, we obtain an array of theme names from the third page of atom.io/themes.
How many pages are there? We don't know, you can keep calling this until you receive an empty array. Then you'll know there are no more pages.

Fetch a theme by name

themes.get('monokai').then((theme) => console.log(theme));

Without options:

// themes.get('monokai')

{
  "name": "monokai",
  "author": {
    "name": "kevinsawicki",
    "image": "https://github.com/kevinsawicki.png",
    "url": "https://atom.io/users/kevinsawicki"
  },
  "repo": "https://github.com/kevinsawicki/monokai",
  "downloads": 330348,
  "stars": 658,
  "images": [
    {
      "url": "https://f.cloud.github.com/assets/671378/2265671/d02ebee8-9e85-11e3-9b8c-12b2cb7015e3.png"
    }
  ]
}

With options:

  • package: true - Include package.json as the package prop.
    • Causes extra request.
    • The readme property and any property beginning with _ are removed.
  • readme: true - Include the repository's readme.
    • Requires GitHub API call.
    • :warning: GitHub throttles unauthenticated requests to 60 per hour
  • images: true - Include image metadata such as size and colors.
    • Causes extra network requests.
    • Detects if the image's background is dark or light.
    • The image palette contains 6-10 colors.
    • :warning: Only supported filetypes will have metadata. (No metadata for svg, gif, etc...)
// themes.get('monokai', {package: true, readme: true, images: true})

{
  "name": "monokai",
  "author": {
    "name": "kevinsawicki",
    "image": "https://github.com/kevinsawicki.png",
    "url": "https://atom.io/users/kevinsawicki"
  },
  "repo": "https://github.com/kevinsawicki/monokai",
  "downloads": 330350,
  "stars": 658,
  "package": {
    "name": "monokai",
    "theme": "syntax",
    "version": "0.18.0",
    "private": true,
    "description": "A monokai theme",
    "repository": "https://github.com/kevinsawicki/monokai",
    "license": "MIT",
    "engines": {
      "atom": ">0.39.0"
    }
  },
  "images": [
    {
      "url": "https://f.cloud.github.com/assets/671378/2265671/d02ebee8-9e85-11e3-9b8c-12b2cb7015e3.png",
      "dimensions": {
        "width": 1414,
        "height": 1002
      },
      "background": {
        "isDark": true,
        "color": {
          "r": 37,
          "g": 45,
          "b": 37
        }
      },
      "palette": [
        {
          "r": 37,
          "g": 45,
          "b": 37
        },
        {
          "r": 219,
          "g": 197,
          "b": 177
        },
        {
          "r": 100,
          "g": 206,
          "b": 209
        },
        {
          "r": 114,
          "g": 120,
          "b": 106
        },
        {
          "r": 105,
          "g": 117,
          "b": 165
        },
        {
          "r": 103,
          "g": 67,
          "b": 65
        },
        {
          "r": 72,
          "g": 75,
          "b": 98
        }
      ]
    }
  ],
  "readme": "# Monokai theme\n\nA monokai syntax theme for Atom.\n\nOriginally converted from the [TextMate](http://www.monokai.nl/blog/wp-content/asdev/Monokai.tmTheme)\ntheme using the [TextMate bundle converter](http://atom.io/docs/latest/converting-a-text-mate-theme).\n\n![](https://f.cloud.github.com/assets/671378/2265671/d02ebee8-9e85-11e3-9b8c-12b2cb7015e3.png)\n"
}

© 2016 Andrea Stella, ISC license.

FAQs

Package last updated on 03 May 2016

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

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.