Ghost/ghost/signup-form
Simon Backx 4da658e72a 🎨 Reused attribution for embeddable signup forms on own site
fixes https://github.com/TryGhost/Team/issues/3473

When a signup happens via the embeddable signup form on your own site, we'll use the default
attribution, so it indistinguishable from a signup via Portal.
2023-06-14 15:26:40 +02:00
..
.storybook Fixed Storybook missing context 2023-06-08 11:20:16 +02:00
assets/icons Added email icon to signup form success page 2023-06-09 11:35:36 +02:00
src 🎨 Reused attribution for embeddable signup forms on own site 2023-06-14 15:26:40 +02:00
test Fixed showing errors when non 2XX response in signup form 2023-06-09 14:12:09 +02:00
.env.development Fixed default Ghost url in dev environment 2023-05-23 17:11:04 +02:00
.eslintrc.cjs Added signup-form package (#16846) 2023-05-23 14:58:33 +02:00
.yarnrc Added signup-form package (#16846) 2023-05-23 14:58:33 +02:00
index.html Moved maximum width and centering outside minimal signup form 2023-06-09 10:42:24 +02:00
package.json Update dependency @storybook/addon-styling to v1.3.0 2023-06-14 08:55:26 +02:00
playwright.config.ts Added Playwright tests to Signup Form 2023-05-24 15:06:44 +02:00
postcss.config.cjs Added signup-form package (#16846) 2023-05-23 14:58:33 +02:00
preview.html Added signup form button animation (minimal) 2023-06-09 12:07:57 +02:00
README.md Added support for yarn dev --signup 2023-06-01 10:20:37 +02:00
tailwind.config.cjs Fixed minimal form padding 2023-06-09 11:06:50 +02:00
tsconfig.json Added initial i18n implementation for Signup-form (#16914) 2023-06-02 11:02:52 +02:00
tsconfig.node.json Added signup-form package (#16846) 2023-05-23 14:58:33 +02:00
vite.config.ts Added initial i18n implementation for Signup-form (#16914) 2023-06-02 11:02:52 +02:00

Embeddable Signup Form

Embed a Ghost signup form on any site.

Development

Pre-requisites

  • Run yarn in Ghost monorepo root
  • Run yarn in this directory

Running via Ghost yarn dev in root folder

You can automatically start the signup-form dev server when developing Ghost by running Ghost (in root folder) via yarn dev --all. This will only build the production build, without the demo site.

Running via yarn dev --all --signup or yarn dev --signup will also serve the demo site on http://localhost:6173.

Running the development version only

Run yarn dev (in package folder) to start the development server to test/develop the form standalone.

Using the UMD build during development

Vite by default only supports HRM with an ESM output. But when loading a script on a site as a ESM module (<script type="module" src="...">), you don't have access to document.currentScript inside the script, which is required to determine the location to inject the iframe. In development mode we use a workaround for this to make the ESM HMR work. But this workaroudn is not suitable for production.

To test the real production behaviour without this hack, you can use http://localhost:6173/preview.html. This HTML page will use http://localhost:6174/signup-form.min.js directly.

Develop

This is a monorepo package.

Follow the instructions for the top-level repo.

  1. git clone this repo & cd into it as usual
  2. Run yarn to install top-level dependencies.

Test

  • yarn lint run just eslint
  • yarn test run lint and tests
  • yarn test:e2e run e2e tests on Chromium
  • yarn test:slowmo run e2e tests visually (headed) and slower on Chromium
  • yarn test:e2e:full run e2e tests on all browsers