diff options
Diffstat (limited to 'node_modules/tiny-relative-date/README.md')
-rw-r--r-- | node_modules/tiny-relative-date/README.md | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/node_modules/tiny-relative-date/README.md b/node_modules/tiny-relative-date/README.md new file mode 100644 index 000000000..4087a7926 --- /dev/null +++ b/node_modules/tiny-relative-date/README.md @@ -0,0 +1,120 @@ +# Relative Date + +[![Build Status](https://travis-ci.org/wildlyinaccurate/tiny-relative-date.png?branch=master)](https://travis-ci.org/wildlyinaccurate/tiny-relative-date) + +Tiny function that provides relative, human-readable dates. + +## Installation + +``` +npm install tiny-relative-date +``` + +## Usage + +The module returns a `relativeDate` function with English translations by default. + +```js +const relativeDate = require('tiny-relative-date') +``` + +The `relativeDate` function accepts date strings or `Date` objects. + +```js +relativeDate('2017-06-25 09:00') // '12 hours ago' +relativeDate(new Date()) // 'just now' +``` + +The value of "now" can also be passed as a second parameter. + +```js +const now = new Date('2017-06-25 08:00:00') +const date = new Date('2017-06-25 07:00:00') + +relativeDate(date, now) // 'an hour ago' +``` + +### Using a non-English locale + +The tiny-relative-date module can be initialised with a locale. See the [translations directory]('./translations') for a list of available locales. + +```js +const relativeDateFactory = require('tiny-relative-date/lib/factory') +const deTranslations = require('tiny-relative-date/translations/de') +const relativeDate = relativeDateFactory(deTranslations) + +relativeDate(new Date()) // 'gerade eben' +``` + +### Using a custom locale + +You can also use a completely custom locale by passing a translations object instead of a locale string. Translations can be plain strings with a `{{time}}` placeholder, or they can be functions. See the **Adding new locales** section below for a list of translation keys. + +```js +const relativeDateFactory = require('tiny-relative-date/lib/factory') +const relativeDate = relativeDateFactory({ + hoursAgo: '{{time}}h ago', + daysAgo: (days) => `${days * 24}h ago` +}) + +relativeDate('2017-06-25 07:00:00') // '2h ago' +relativeDate('2017-06-24 06:00:00') // '27h ago' +``` + +## Contributing + +Contributions are welcome! Running this project locally requires Git and Node.js. + +``` +git clone git@github.com:wildlyinaccurate/tiny-relative-date.git +cd tiny-relative-date/ +npm install +``` + +Once you are set up, you can make changes to files in the `src/`, `spec/` and `translations/` directories. Build any changes you make by running + +``` +npm run build +``` + +And run the tests with + +``` +npm run test +``` + +### Adding new locales + +If you would like to add a new locale, please create a JSON file in the `translations` directory and ensure it has the following keys: + +| Key | Default value ("en" locale) | +|------------------------|-----------------------------| +| `justNow` | just now | +| `secondsAgo` | {{time}} seconds ago | +| `aMinuteAgo` | a minute ago | +| `minutesAgo` | {{time}} minutes ago | +| `anHourAgo` | an hour ago | +| `hoursAgo` | {{time}} hours ago | +| `aDayAgo` | yesterday | +| `daysAgo` | {{time}} days ago | +| `aWeekAgo` | a week ago | +| `weeksAgo` | {{time}} weeks ago | +| `aMonthAgo` | a month ago | +| `monthsAgo` | {{time}} months ago | +| `aYearAgo` | a year ago | +| `yearsAgo` | {{time}} years ago | +| `overAYearAgo` | over a year ago | +| `secondsFromNow` | {{time}} seconds from now | +| `aMinuteFromNow` | a minute from now | +| `minutesFromNow` | {{time}} minutes from now | +| `anHourFromNow` | an hour from now | +| `hoursFromNow` | {{time}} hours from now | +| `aDayFromNow` | tomorrow | +| `daysFromNow` | {{time}} days from now | +| `aWeekFromNow` | a week from now | +| `weeksFromNow` | {{time}} weeks from now | +| `aMonthFromNow` | a month from now | +| `monthsFromNow` | {{time}} months from now | +| `aYearFromNow` | a year from now | +| `yearsFromNow` | {{time}} years from now | +| `overAYearFromNow` | over a year from now | |