Github与jekyll的联系表?

Github与jekyll的联系表?,jekyll,contact-form,Jekyll,Contact Form,我计划在github上构建和部署一个静态站点。如果我这样做了,还可能有联系方式吗 这似乎是唯一一套动态功能,将存在于我的特定网站 我是否需要在其他地方创建服务来创建联系人表单?准确地说。Jekyll编译过程的(通常)结果是一个静态站点,因此拥有动态功能的唯一方法是通过外部服务 例如,您可以尝试。如果您想使用PHP创建自己的联系人表单,例如,您可以这样做。记住这两件事: Jekyll会将任何不带下划线或未被忽略的内容逐字复制到_site目录 可以将HTML文件包含到PHP文件中 我使用服务器上的P

我计划在github上构建和部署一个静态站点。如果我这样做了,还可能有联系方式吗

这似乎是唯一一套动态功能,将存在于我的特定网站

我是否需要在其他地方创建服务来创建联系人表单?

准确地说。Jekyll编译过程的(通常)结果是一个静态站点,因此拥有动态功能的唯一方法是通过外部服务


例如,您可以尝试。

如果您想使用PHP创建自己的联系人表单,例如,您可以这样做。记住这两件事:

  • Jekyll会将任何不带下划线或未被忽略的内容逐字复制到_site目录

  • 可以将HTML文件包含到PHP文件中

  • 我使用服务器上的PHP库从Jekyll创建的HTML联系人表单中传递邮件。但是,我的问题是缺少服务器端验证或通知用户未成功交付或哪些字段未验证。我不希望有一个自定义的Success.html和Fail.html页面来获取响应

    我就是这样绕过它的

    我的Jekyll结构如下所示:

    /..
     _config.yml
     _layouts/
       default.html
       default-php.html
     _includes/
       header.html
       footer.html
       contact-form.html
       nav.html
     ...
     about/
       index.md => index.html
     services/
       index.md => index.html
     contact/
       contact.md => contact.html
       index.php (includes contact.html)
    
    我的
    contact form.html
    include和
    default php.html
    布局都包含用于打印变量的php代码段

    当有人浏览
    www.mysite.com/contact
    时,它将加载
    index.php
    ,其中包含我的整个HTML页面,其中包含用于打印变量的php代码片段

    在该PHP文件的顶部,您可以处理
    $\u POST
    $\u从联系人表单中获取数据,或从邮件传递脚本返回数据,并将消息打印到发件人,甚至向表单字段添加类以指示验证失败

    一个缺点是这不会加载到Jekyll的本地服务器(localhost:4000)。 也许你可以通过一些拼凑来得到它。我不确定。我只需设置一个vhost to point
    mysite.local
    to
    /web/root/myjekyllsite/\u sites
    ,它运行良好。

    似乎是绕过Jekyll静态站点方面的一个有趣的选择


    也是一个很好的选择。

    使用Jekyll的超级简单快速表单设置是使用外部服务,如

    是的,您需要使用外部服务。一个伟大的外部服务,这不需要注册,是免费的高达1000提交每月是


    其他选项:,&

    是的,您需要外部设备来存储数据。但好消息是,有这么多的解决方案,你只需要选择“最好的”来满足你的具体需求

    给我一个机会,让我把可能的解决方案也包括进来(免责声明:我是作者)

    如果你有足够的时间,我刚刚发布了一篇关于如何

    tl;dr of story是,通过使用,您仍然可以受益于真正的存储引擎(具有简单而丰富的RESTful API集),它支持“仅客户端环境”,如“jekyll/github页面”或您喜欢的任何组合


    我的2美分工作起来就像一个符咒()

    我知道这可以在你自己的服务器上工作,但是当使用Github页面(比如提到的@chrisjlee)时,这不起作用,因为Github页面不做任何服务器端处理。所以(最后一个问题)的答案是肯定的,必须使用Github之外的服务。OP特别提到在Github上部署站点,所以PHP不起作用。我认为这是该页面的最佳答案。如果在github页面之外运行后端逻辑,PHP和任何其他后端都可以工作。我不认为把付费服务作为formspree做广告是更好的答案。你必须在其他地方创建一个服务来创建联系人表单,在这种情况下,你最好在其他地方托管一个简单的PHP站点,比如Heroku;或者在其他地方托管你的Jekyll安装,并使用Ruby编写的插件来处理联系人表单提交。这显然不是一个好的实现,因为它根本不保护你的电子邮件地址。Formspree它不是免费的@乔什·布切亚似乎也可以担任主持人。这是我研究过的几个类似服务中最棒的消息,getsimpleform.com似乎是最好的(免费、HTML代码中没有电子邮件地址、文件附件、akismet集成、ajax支持)。邮件服务本身以及受保护区域工作得非常完美。但有些事情让我担心。1.他们在文档中引用的内容不见了,然后被一些视频服务占用了。2.他们的支持不起作用。他们是否还活着,或者明天服务将停止运行而不再运行?检查,有几个有趣的功能,例如提交后设置重定向和电子邮件自定义。zappyforms似乎已经死了:(