# asmr

> Show a list of your repos. That's it!

Latest version **0.1.2** (published 2016-02-25) · MIT license · 0 weekly downloads

## Install

```sh
npm install asmr
pnpm add asmr
yarn add asmr
bun add asmr
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.2 |
| Published | 2016-02-25 |
| First published | 2016-02-25 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Nicolas Gryman |
| Maintainers | ngryman |
| Keywords | github, repo, repos, repositories, show, display, list, render, html |

## Links

- npm: https://www.npmjs.com/package/asmr
- Repository: https://github.com/ngryman/asmr
- Issues: https://github.com/ngryman/asmr/issues
- npm.io page: https://npm.io/package/asmr

## Alternatives

- [@tsparticles/shape-image](https://npm.io/package/@tsparticles/shape-image.md) — 303.7K weekly downloads
- [@tsparticles/shape-line](https://npm.io/package/@tsparticles/shape-line.md) — 233.7K weekly downloads
- [stringify-attributes](https://npm.io/package/stringify-attributes.md) — 58.6K weekly downloads
- [mobile-drag-drop](https://npm.io/package/mobile-drag-drop.md) — 46.3K weekly downloads
- [@comunica/actor-rdf-parse-html](https://npm.io/package/@comunica/actor-rdf-parse-html.md) — 29.2K weekly downloads

## Recent versions

- 0.1.2 (latest) — 2016-02-25
- 0.1.1 — 2016-02-25
- 0.1.0 — 2016-02-25

## README

# asmr [![travis][travis-image]][travis-url] [![codecov][codecov-image]][codecov-url]

[travis-image]: https://img.shields.io/travis/ngryman/asmr.svg?style=flat
[travis-url]: https://travis-ci.org/ngryman/asmr
[codecov-image]: https://img.shields.io/codecov/c/github/ngryman/asmr.svg
[codecov-url]: https://codecov.io/github/ngryman/asmr

> Show a list of your repos. That's it!


**Abracadabra Show My Repos** *(asmr)* allows you to display a simple up-to-date list of your
github repositories.
You can use it out of the box or customize things.

## Install

```bash
npm install --save asmr
```

## Usage

```javascript
asmr('ngryman', document.body)
asmr('ngryman', 'body')

// pagination
asmr('ngryman', 'body', { page: 1, perPage: 10 })

// custom template
asmr('ngryman', 'body', {
  template: '<a href={html_url}>{name}</a>'
})

// custom processing
asmr('ngryman', 'body', { render: false })
  .then(function(baton) {
    baton.repos.sort(function(r1, r2) {
      return r2.stargazers_count - r1.stargazers_count
    })
    return baton
  })
  .then(asmr.render)
```

## API

### asmr(user, target, [options])

#### `user` <sup><sub>`{string}`</sub></sup>

Name of the user to pull repositories for.

#### `target` <sup><sub>`{node|string}`</sub></sup>

Target element where to display the list. Each elements of the list will be appended to that `target`. You can either pass a *selector* or the `dom` element itself.

#### `options` <sup><sub>`{object}`</sub></sup>

##### `perPage` <sup><sub>`{number}`</sub></sup>

Set how many items will be rendered. Default is `30`.

##### `page` <sup><sub>`{number}`</sub></sup>

Displays the given `page`. The index of the first element is `(page - 1) * perPage`.

##### `template` <sup><sub>`{string}`</sub></sup>

Use `template` for each repo rendering. Every `{property}` occurrence will be replace by its corresponding repo value. For a list of available properties, see an example of repo structure [here](https://developer.github.com/v3/repos/#response).

**Example**:

```html
<article class="repo">
	<h1 class="repo__name">{name}<small class="repo__language">{language}</small></h1>
	<p class="repo__description">{description}</p>
	<div class="repo__details">
		<span class="repo__forks">{forks_count}</span>
		<span class="repo__watchers">{watchers_count}</span>
		<span class="repo__stargazers">{stargazers_count}</span>
	</div>
</article>
```

##### `render` <sup><sub>`{boolean}`</sub></sup>

If set to `false`, `asmr` only fetches data but does not render anything. It's useful if you want to customize things before rendering with `asmr.render`, or if you simply want to fetch repos.

Note that instead of resolving `repos`, it resolves a `baton` which basically holds everything you need to continue processing, including repos.

### asmr.render(baton)

The rendering method itself. It basically iterates over `baton.repos`, create `dom` nodes using `template` and append it to `baton.target`.

You can use it after custom processing, or as a standalone.

## Why this name?

From [Autonomous Sensory Meridian Response].

[Autonomous Sensory Meridian Response]: https://www.wikiwand.com/en/Autonomous_sensory_meridian_response

## License

MIT © [Nicolas Gryman](http://ngryman.sh)

---
_Source: https://npm.io/package/asmr · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
