Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/philhawksworth/netlify-plugin-form-submissions
Fetch all submissions made to Netlify Forms in your site and stash them as JSON files before your build runs making the data available to your static site generator at build time.
https://github.com/philhawksworth/netlify-plugin-form-submissions
forms jamstack netlify netlify-plugin
Last synced: 15 days ago
JSON representation
Fetch all submissions made to Netlify Forms in your site and stash them as JSON files before your build runs making the data available to your static site generator at build time.
- Host: GitHub
- URL: https://github.com/philhawksworth/netlify-plugin-form-submissions
- Owner: philhawksworth
- License: mit
- Created: 2020-07-09T10:51:32.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2020-07-16T10:43:04.000Z (over 4 years ago)
- Last Synced: 2024-10-04T10:23:35.136Z (about 1 month ago)
- Topics: forms, jamstack, netlify, netlify-plugin
- Language: JavaScript
- Homepage:
- Size: 10.7 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Netlify Plugin - Form Submissions
This [plugin](https://www.netlify.com/build/plugins-beta?utm_source=github&utm_medium=plugin-formsubmissions-pnh&utm_campaign=devex) adds the ability to fetch all submissions made to [Netlify Forms](https://www.netlify.com/products/forms/?utm_source=github&utm_medium=plugin-formsubmissions-pnh&utm_campaign=devex) in your site and stash them as JSON files before your build runs making the data available to your static site generator at build time.
## Overview
This plugin uses the Netlify API to request the data submitted to your forms. It can be configured to request the data from all forms, or from forms with specific names.
You can also configure this plugin to present the gathered data in the appropriate location, so your chosen [static site generator](https://www.netlify.com/blog/2020/04/14/what-is-a-static-site-generator-and-3-ways-to-find-the-best-one/?utm_source=github&utm_medium=plugin-formsubmissions-pnh&utm_campaign=devex) can leverage it during the build.
## A demo to explore and to clone
- Demo site: https://demo-netlify-plugin-form-submissions.netlify.app/
- Demo repo: https://github.com/philhawksworth/demo-netlify-plugin-form-submissions## Installation
To include this plugin in your site deployment:
### 1. Add the plugin as a dependency
```bash
# Add the plugin as a dependency of your build
npm i --s netlify-plugin-form-submissions```
### 2. Add the plugin and its options to your netlify.toml
This plugin will fetch the submission to specified forms and stash the data prior to the execution of the `build` command you have specified in your Netlify configuration. You can choose which forms you want get the submission for, or just get them all by adding some config in the `netlify.toml` config file. The plugin will discover all the form present in your site.
```toml
# Config for the Netlify Build Plugin: netlify-plugin-form-submissions
[[plugins]]
package = "netlify-plugin-form-submissions"[plugins.inputs]
# Get submissions for specific forms
# e.g. "form-name"
# e.g. ["form-name-1", "form-name-2"]
# e.g. "ALL"
# default: "ALL"
formNames = "my-snazzy-form"# the folder to receive a json file for each form
dataDirectory = "site/_data"```
### 3. Grant access via the Netlify API
The plugin uses the Netlify API to access your form submissions data and requires an access token to be stored as a site environment variable.
1. Visit your [Netlify User Settings](https://app.netlify.com/user/applications?utm_source=github&utm_medium=plugin-formsubmissions-pnh&utm_campaign=devex ) to create a new Personal access token
2. Create a `NETLIFY_AUTH_TOKEN` [environment variable in your site dashboard](https://docs.netlify.com/configure-builds/environment-variables/?utm_source=github&utm_medium=plugin-formsubmissions-pnh&utm_campaign=devex#declare-variables) containing this access token.
3. For local development, you may also wish to specify this environment variable in a local `.env` file (remember to add your `.env` file to your `.gitignore`)