2020-04-10 19:37:40 +03:00
# Members.js
2020-03-24 16:07:38 +03:00
2020-04-20 20:33:24 +03:00
[![CI Status ](https://github.com/TryGhost/members.js/workflows/Test/badge.svg?branch=master )](https://github.com/TryGhost/Ghost-CLI/actions)
[![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-04-21 08:47:23 +03:00
To load members.js in any Ghost theme, add below code in theme's `default.hbs` before the end of body tag.
2020-04-20 20:56:55 +03:00
```html
< script src = "https://unpkg.com/@tryghost/members-js" > < / script >
< script >
// Initializes members.js
2020-04-21 12:48:12 +03:00
window.GhostMembers.initMembersJS({
2020-04-21 08:47:23 +03:00
adminUrl: 'https://youradminurl.com'
});
2020-04-20 20:56:55 +03:00
< / script >
```
2020-04-21 12:21:16 +03:00
Temp Note: You'll need [local Ghost setup ](https://github.com/TryGhost/members.js#in-your-local-ghost-setup ) on `membersjs` branch for member APIs to work at the moment.
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-20 19:42:20 +03:00
#### In your local Ghost setup:
- Add `rish-upstream` as remote on your local Ghost repo -
```
git remote add rish-upstream git@github.com:rishabhgrg/Ghost.git
```
- Fetch and checkout membersjs branch from the remote -
```
git fetch rish-upstream membersjs & & git checkout membersjs
```
2020-04-10 19:37:40 +03:00
- Ensure your local Ghost is running
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`
- Add below code in your theme's `default.hbs` just above `{{{block "scripts"}}}` to add and initialize members script
```html
< script src = "{{asset " built / members . min . js " } } " > < / script >
< script >
// Initialize members.js
2020-04-21 12:21:16 +03:00
window.GhostMembers.initMembersJS({
adminUrl: 'youradminurl.com'
});
2020-04-20 19:42:20 +03:00
< / 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.
2020-04-20 19:42:20 +03:00
Note: You'll need to configure the local Admin API url for script initialization.
- Copy `.env.development.local.example` to `.env.development.local`
- Update the values to match your local dev version of Ghost
2020-03-24 16:07:04 +03:00
### `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-20 19:42:20 +03:00
Before shipping, please ensure the intended version is updated in `package.json` .
2020-03-24 16:07:04 +03:00
2020-04-20 19:42:20 +03:00
- Run `npm publish --access public` to ship the new version to npm and unpkg.
- 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 ).