2020-04-10 19:37:40 +03:00
# Members.js
2020-03-24 16:07:38 +03:00
2020-04-27 09:23:18 +03:00
[![CI Status ](https://github.com/TryGhost/members.js/workflows/Test/badge.svg?branch=master )](https://github.com/TryGhost/members.js/actions)
2020-04-20 20:33:24 +03:00
[![npm version ](https://badge.fury.io/js/%40tryghost%2Fmembers-js.svg )](https://badge.fury.io/js/%40tryghost%2Fmembers-js)
2020-04-21 08:47:23 +03:00
Drop-in script to make the bulk of members work on any theme.
2020-04-20 19:42:20 +03:00
2020-04-21 08:47:23 +03:00
## Usage
2020-04-20 20:56:55 +03:00
2020-05-01 14:40:17 +03:00
Add below script in your theme's `default.hbs` just before the end of body tag OR in the code injection footer in Ghost Admin.
2020-04-20 20:56:55 +03:00
```html
2020-04-28 21:11:20 +03:00
< script type = "text/javascript" src = "https://unpkg.com/@tryghost/members-js@latest/umd/members.min.js" > < / script >
2020-04-20 20:56:55 +03:00
```
2020-06-06 17:40:26 +03:00
### Custom trigger button
By default, the script adds a default floating trigger button on the bottom right of your page which is used to trigger the popup on screen.
Its possible to override the default trigger button with your own by adding data attribute `data-members-trigger-button` to any HTML tag on page, which will hide the default trigger and allow controlling the popup state by clicking on this element.
The script also adds custom class names to this element for open and close state of popup - `gh-members-popup-open` and `gh-members-popup-close` , allowing devs to update its UI based on popup state.
2020-04-20 19:42:20 +03:00
## Basic Setup
1. Clone this repository:
```shell
git@github.com:TryGhost/members.js.git
```
2. Change into the new directory and install the dependencies:
```shell
cd members.js
yarn
```
2020-03-24 16:07:04 +03:00
2020-04-10 19:37:40 +03:00
## Configure for local development
2020-04-23 10:21:51 +03:00
Only useful for active UI development without publishing a version on unpkg. Always use the unpkg link for testing latest released members.js.
2020-04-10 19:37:40 +03:00
2020-04-21 12:21:16 +03:00
#### In this repo(Members.js):
2020-04-20 19:42:20 +03:00
- Run `yarn build` to create the minified bundle with your changes at `umd/members.min.js`
#### In your theme(Ex. Lyra):
- Copy `members.min.js` from above and paste it in your theme at `assets/built/members.min.js`
2020-05-01 14:40:17 +03:00
- Add below code in your theme's `default.hbs` just before end of body tag
2020-04-20 19:42:20 +03:00
```html
< script src = "{{asset " built / members . min . js " } } " > < / script >
```
2020-03-24 16:07:04 +03:00
## Available Scripts
2020-04-20 19:42:20 +03:00
In the project directory, you can also run:
2020-03-24 16:07:04 +03:00
### `yarn start`
Runs the app in the development mode.< br / >
Open [http://localhost:3000 ](http://localhost:3000 ) to view it in the browser.
The page will reload if you make edits.< br / >
You will also see any lint errors in the console.
### `yarn build`
2020-04-20 19:42:20 +03:00
Creates the production single minified bundle for external use in `umd/members.min.js` . < br />
2020-03-24 16:07:04 +03:00
2020-04-20 19:42:20 +03:00
### `yarn test`
2020-03-24 16:07:04 +03:00
2020-04-20 19:42:20 +03:00
Launches the test runner in the interactive watch mode.< br / >
See the section about [running tests ](https://facebook.github.io/create-react-app/docs/running-tests ) for more information.
2020-03-24 16:07:04 +03:00
2020-04-20 19:42:20 +03:00
## Publish
2020-03-24 16:07:04 +03:00
2020-04-28 21:08:24 +03:00
- `yarn ship` is an alias for `npm publish`
- Before shipping, please ensure the intended version is updated in `package.json` .
2020-04-20 19:42:20 +03:00
- Builds the script with latest code using `yarn build` (prePublish)
- Publishes package on npm as `@tryghost/members-js` and creates an unpkg link for script at https://unpkg.com/@tryghost/members-js@VERSION
2020-03-24 16:07:04 +03:00
## Learn More
2020-04-20 19:42:20 +03:00
This project was bootstrapped with [Create React App ](https://github.com/facebook/create-react-app ).
2020-03-24 16:07:04 +03:00
You can learn more in the [Create React App documentation ](https://facebook.github.io/create-react-app/docs/getting-started ).
2020-03-30 16:32:19 +03:00
# Copyright & License
2020-03-24 16:07:38 +03:00
Copyright (c) 2020 Ghost Foundation - Released under the [MIT license ](LICENSE ).