浏览代码

feat(widgets): do not require email if using Netlify contact form

Netlify routes messages from contact form to its admin panel, so no
email address is required.

By not requiring email in this case, it is not revealed to any spam bots
which might try to scrape a website's public Git repository.

Close #775
George Cushen 6 年之前
父节点
当前提交
ca4fd7159d
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. 4 1
      layouts/partials/widgets/contact.html

+ 4 - 1
layouts/partials/widgets/contact.html

@@ -11,12 +11,15 @@
   <div class="col-12 col-lg-8">
     {{ with $page.Content }}<p>{{ . | markdownify }}</p>{{ end }}
 
-    {{ if and $.Site.Params.email $page.Params.email_form }}
+    {{ if $page.Params.email_form }}
 
     {{ $post_action := "" }}
     {{ if eq $page.Params.email_form 1 }}
       {{ $post_action = "netlify" }}
     {{ else }}
+      {{ if not $.Site.Params.email }}
+        {{ errorf "Please set an email address for the contact form using the `email` parameter in `config.toml`. Otherwise, set `email_form = 0` to disable the contact form." }}
+      {{ end }}
       {{ $post_action = printf "action=\"https://formspree.io/%s\"" $.Site.Params.email }}
     {{end}}