ghost博客
Ghost是一个使用JavaScript编写的免费开源博客平台,它为众多网站提供支持。 从刚刚起步的个人博客作者,到世界上一些最大型组织的大型作家和编辑团队。 目前, 超过200万个网站正在Ghost 上运行,其中包括您当前正在阅读的Getform博客!
我们知道,在您的网站上设置联系表单是一种让听众在欣赏您的帖子时直接与您联系的方法。 在本教程中,我们将向您展示如何创建Ghost博客,如何添加自定义主题以及如何使用Getform将自定义联系人表单直接添加到Ghost主题中。
最后,为了提供对可在何处添加表单的更多控制,我们将通过创建自定义帖子模板使这一步骤更进一步, 该模板将允许您网站的所有作者使用单个下拉列表将表单添加到任何页面您的自定义主题上的菜单。
如何创建一个幽灵联系表
1.设置您的Ghost网站
第一步,我们将安装Ghost-CLI,这是一个命令行工具,可帮助您快速轻松地安装和配置Ghost以供使用。
npm install ghost-cli@latest -g
然后我们将安装Ghost。 在您的终端中,cd进入一个空目录并运行install命令:
ghost installlocal
安装完成后,您将可以访问http://localhost:2368
和http://localhost:2368/ghost
上的新站点,以访问Ghost Admin。 它将带有一个名为Casper的默认Ghost主题。 管理员如下所示:
您还可以在此处参考Ghost的官方文档了解更多安装细节。
2.创建自定义页面模板
创建并运行Ghost网站后,我们现在就可以开始创建自定义帖子模板了。
- 在主题的根目录创建一个名为
custom-page-with-getform.hbs
的新文件,然后在您喜欢的代码编辑器custom-page-with-getform.hbs
其打开。 我们将使用此模板进行可重复使用的联系表单设置。
- 在新的自定义页面模板文件中,添加以下代码:
{{!< page }} {{# contentFor " form-area "}} <! -- form here -- > {{/contentFor}}
第{{!< page}}
行将使用主题中的原始page.hbs
模板,并将其下方的所有内容插入该页面模板。
3.定义内容块
为了将新的自定义模板中的代码插入正确的位置,我们需要定义一个内容块。 可以使用{{#contentFor "example"}}...{{/contentFor}}
助手来定义内容块,如上面的代码示例所示。
在代码编辑器中打开page.hbs模板,然后找到要显示表单的位置并添加以下内容:
{{{block"form-area" }}}
由于块已被引用,因此{{#contentFor "form-area"}}...{{/contentFor}}
块帮助器之间的任何内容都会插入到代码所在的位置。
4.使用Getform创建Ghost联系人表单
Getform是用于静态网站和博客的表单后端服务。 您可以注册Getform 或使用您现有的帐户登录Getform。
登录帐户后,在表单仪表板页面上单击“ +”按钮以创建一个新表单,然后将其命名为“ Ghost Blog Contact Form”,然后复制属于您刚刚创建的表单的唯一表单端点。该唯一形式的端点在“ contentFor”块之间添加以下代码块:
< form class = "contact-form" action = "https://getform.io/f/9de64cfa-0a4a-4fd2-b385-687e2059cae6" method = "POST>
<label for=" full-name "> Name </ label >
< input type = "text" name = "name" id = "full-name" placeholder = "First and Last" required >
< label for = "email-address" > Email Address </ label >
< input type = "email" name = "_replyto" id = "email-address" placeholder = "Your email address" required >
< label for = "message" > Your Message </ label >
< textarea rows = "5" name = "message" id = "message" placeholder = "Your message" required > </ textarea >
< input type = "submit" value = "Submit" >
</ form >
- 请注意,您从Getform创建的唯一表单端点被放置在form标签的
action
属性中。 - 如果您想接受文件附件到表单,还应该在表单标签和文件输入中添加
enctype='multipart/form-data'
属性。 您可以在此处查看更多设置详细信息。
5.设置您的联系表格
接下来,我们需要在表单中添加一些样式和布局。 根据您的主题,表单元素可能已经具有一些默认样式。 如果您正在使用Casper(如本教程中所述),则可以使用以下CSS:
.contact-form {
display : grid;
grid-template-columns : 1 fr 1 fr;
grid-gap : 0.2em 1em ;
}
.contact-form input ,
.contact-form textarea {
width : 100% ;
padding : 0.4em 0.6em 0.5em ;
color : #111 ;
font-family : -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
Ubuntu, Cantarell, Open Sans, Helvetica Neue, sans-serif;
font-size : 0.95em ;
}
.contact-form input :focus ,
.contact-form textarea :focus {
outline : 1px solid #3eb0ef ;
outline-offset : - 1px ;
}
.contact-form label [for="full-name"] ,
.contact-form label [for="email-address"] {
order : - 1 ;
}
.contact-form input {
order : 0 ;
margin-bottom : 0.6em ;
}
.contact-form label [for="message"] ,
.contact-form textarea {
grid-column-end : span 2 ;
}
.contact-form input [type="submit"] {
grid-column-start : 2 ;
justify-self : end;
margin-top : 0.6em ;
background : #3eb0ef ;
color : white;
width : auto;
}
(可选)您可以使用此处列出的默认Getform表单模板之一。
6.上载带有联系表的自定义主题
下一步是保存主题更改,并通过Ghost管理员中的“设计”视图上传主题 。
将主题上载到您的出版物;
- 首先,转到放置主题的目录,该目录应位于
/content/themes/casper
并压缩整个目录。 - 转到Ghost管理员中的“设计”设置,然后单击“上传主题”按钮。 上传后,单击“激活”以激活网站上的主题。
接下来,创建一个名为“ Contact”的新页面,并使用页面设置底部的“模板选择”选项来选择“带有表单的页面”模板。
点击发布,然后导航到您网站上的页面,以查看正在使用的表单。
填写字段并提交之后,这就是您的表单数据在Getform仪表板上的外观。
而已! 您已在自定义的Ghost主题上设置了联系表单。
改善用户体验
默认情况下,Getform感谢页面将显示给表单提交者,但是您可以通过将帐户升级为Pro计划来将其更改为所需的页面。
完成设置后,根据您的需要,您还可以从表单设置中设置电子邮件通知 ,使用我们的Zapier集成将您的表单提交数据发送到100多个其他应用程序,并通过使用reCaptcha集成来保护您的表单提交垃圾邮件。
摘要
做得好! 您不仅在Ghost中添加了联系表单,使您可以直接与网站的访问者进行联系,而且还使用了高级Handlebars主题逻辑来添加功能,同时保持较低的代码更改率。
Getform将处理您Ghost网站上的联系表单提交,所有这些只需几行代码。 与您从表单插件获得的解决方案相比,它是更灵活,更强大的解决方案。
奖励 :如果您想查看Ghost主题,可以从以下位置访问主题部分: https : //ghost.org/marketplace/并选择您喜欢的主题。
其他资源
- Getform形态的试样- https://codepen.io/getform
- Getform文档- https://getform.io/docs
- Ghost博客文档-https: //ghost.org/docs/setup/
- 幽灵主题市场-https: //ghost.org/marketplace/
先前发布在https://blog.getform.io/how-to-add-a-contact-form-to-your-ghost-blog/
翻译自: https://hackernoon.com/how-to-setup-a-contact-form-to-your-ghost-blog-gh6r3y3z
ghost博客