Code Monkey home page Code Monkey logo

node-derpi's Introduction

node-derpi

GitHub version npm version Discord chat

A Derpibooru API wrapper for Node.js

node-derpi is my first attempt at an API wrapper in Node, specifically for the Derpibooru image board. It aims to be a rich API wrapper around Derpibooru's JSON API, supporting rich deserialization of supported types (dates, other Derpi data points, etc.). It is also fully strongly-typed, being written in Typescript.

Table of Contents

Install

Prerequisites

  • Node.js
  • Your Node package manager of choice (I recommend yarn)

Installation

Using yarn:

yarn add node-derpi

Using npm:

npm install node-derpi

That's it! Your package manager should handle any dependencies for you.

Usage

See the documentation.

Maintainers

Contribute

Issues, suggestions, or concerns? Submit a GitHub issue!

Want to add a feature? We accept PRs!

License

Copyright (c) Eliot Partridge, 2018. Licensed under the MIT License.

node-derpi's People

Contributors

bytewavemlp avatar dependabot[bot] avatar jengas avatar nullforce avatar renovate-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

node-derpi's Issues

Caching

Global request caching is still an important feature to add. I think it would be relatively easy to do, as most HTTP fetching is routed through Fetch anyway.

The question is, do I want this to be done in memory or on disk, or a combination of the two? Should it be user-configurable?

Tag names take precedence over IDs in tags.json

Tags can be fetched at both tags/NAME.json and tags/ID.json, where tags/NAME.json takes priority

So, if I named a tag 12345, whatever tag ID 12345 is would no longer be fetchable by ID.

Looks like I'll have to update my tag fetching stuff to fetch by name instead. Which also means I'll need byte[]'s sluggify code.

new_name.gsub!('-', '-dash-')
new_name.gsub!('/', '-fwslash-')
new_name.gsub!('\\', '-bwslash-')
new_name.gsub!(':', '-colon-')
new_name.gsub!('.', '-dot-')
new_name.gsub!('+', '-plus-')

Thanks, Derpi.

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.