Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/imballinst/count-up-down
- Owner: imballinst
- License: mit
- Created: 2021-08-29T02:09:47.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2021-12-05T12:58:52.000Z (almost 3 years ago)
- Last Synced: 2024-10-07T02:17:25.373Z (about 1 month ago)
- Topics: javascript, timer, typescript
- Language: TypeScript
- Homepage: https://imballinst.github.io/count-up-down/
- Size: 464 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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).