Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/imballinst/count-up-down

Base countdown or count-up timer for simple static pages.
https://github.com/imballinst/count-up-down

javascript timer typescript

Last synced: 26 days ago
JSON representation

Base countdown or count-up timer for simple static pages.

Awesome Lists containing this project

README

        

# count-up-down

This is the base repository that I use to create a simple static page for counting up or down.

## How to Use

### Browser

We are using [jsDelivr](https://www.jsdelivr.com/) to distribute the package for browser usage. The HTML snippet is as the following.

```html





years




months




days






hours




minutes




seconds



const ONE_HOUR_AGO = new Date(new Date().getTime() - 3600 * 1000);

window.addEventListener('load', () => {
// This will render to the divs with the ID "years", "months", and so on.
renderToDivs(calculate(ONE_HOUR_AGO, new Date()).result);

setInterval(() => {
renderToDivs(calculate(ONE_HOUR_AGO, new Date()).result);
}, 1000);
});

```

### Node

To install the package, if you are using `npm`:

```bash
# NPM.
npm install --save count-up-down

# Or, if you are using yarn:
yarn add count-up-down
```

Then, do this in your file:

```ts
import { calculate } from 'count-up-down';

const ONE_HOUR_AGO = new Date(new Date().getTime() - 3600 * 1000);

// {
// result: { days: 0, hours: 1, minutes: 0, months: 0, seconds: 0, years: 0 },
// type: 'countdown'
// }
console.log(calculate(new Date(), ONE_HOUR_AGO));
```

## Documentation

The API documentation is generated using [`typedoc`](https://github.com/TypeStrong/typedoc). Below are the links to the browser and Node package:

1. [Browser](./api/docs/modules/browser.md)
2. [Node](./api/docs/modules/node.md)

To re-generate the documentation, we can do `yarn generate:doc` on the the root of this repository.

## Development

### Prerequisites

1. [Yarn](https://yarnpkg.com/) Classic (v1)
2. [Node.js®](https://nodejs.org/) LTS (at least v14)

After that, on root project, do this to install the dependencies:

```bash
yarn
```

### Folder Information

The following is the information on each of the important folders in this repository.

1. `plugins` folder contains the plugins for `esbuild`
2. `scripts` folder contains build scripts
3. `src` folder contains the main library code

## Versioning

This library follows semantic versioning. Please visit https://semver.org for more information.

## License

See [LICENSE](./LICENSE).