npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

github-picbed

v0.0.7

Published

Upload file to github and Get Url

Downloads

16

Readme

GitHub Picture Bed

A picture bed based on GitHub. Provide an HTTP file service through Pages. Upload images using the GitHub API.

Installation

npm install github-picbed

Usage

const github = require('github-picbed')({
    token: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    repository: 'https://github.com/imlinhanchao/upload-file'
})
const path = require('path');

router.post('/upload', async (req, res, next) => {
    let data = req.files[0].buffer;
    let extname = path.extname(req.files[0].originalname);
    let upload = await github.upload({ data, extname })
    res.json(upload);
})

Preparation

  1. You need to create an access token in GitHub. Select only repo for the select scopes.
  2. Create a repository use to upload files. And then enable GitHub Pages.

Functions

Config Upload Options

async function config({ token, repository });

Parameter Object

|key|description| |--|--| |token|Your GitHub access token.| |repository|Your repository use to upload files.|

Check Initialize State

async function isInitialized();

Return Value

bool - true means finish initialize.

Upload file

async function upload({ data, extname, filename });

Parameter Object

|key|description| |--|--| |data|The file path that you want to upload or the buffer of file.| |extname|The extname of file. You must set this key if the data is buffer.| |filename|The filename that you want to upload.(Options)|

Return Object

|key|description| |--|--| |filename|The filename that was eventually uploaded.| |url|Access URL.|

Notice

After configuring the GitHub repository address and access token, it takes about 1 second to get the information of GitHub Pages. Therefore, please do not upload immediately after configuration. You can use isInitialized to check if initialization has been completed. Or use await to wait for the configuration to complete.