Webhook help

Webhook does not provide dedicated support

Webhook is self-service software provided at a low price. These days changes are pretty rare and the codebase is stable. You can use our forums to ask questions with other users.


Frequently asked questions


How do I add comments?

Webhook deploys static websites. This means that any user added content like comments will have to be done with a Javascript solution (usually a simple one-line embed). Luckily there are plenty of options, here are a few of them.


How do I add a forum?

Most people add forums onto their webhook site by hosting it somewhere else then pointing a subdomain over. For example, Webhook.com itself hosts a Discourse powered message board on a separate server and points it to the subdomain forums.webhook.com. Below are some popular options for hosted forum solutions.


How do I add a contact form?

If you want to add forms to the front-facing portion of your website you'll need to use a third-party solution. Most people tend to go with one of the following.


How do I make global variables available on every page?

The best way to make variables available on every page is to make a new content-type, and then call that data into your templates/partials/base.html. Let's say we create a content-type called global settings with a text field greeting and an image field logo. We could then call that data into base.html like so.

{# My templates/partials/base.html page #}

{% set global = get('globalsettings') %}

<html>
  {% block content %}
     Content goes here!
  {% endblock %}
</html>

We now have access to the global variable on every page that extends base.html (which should be every page on your site).

Now we can use that variable anywhere, say in pages/about_us.html.

{# My pages/about_us.html page #}

{% extends base.html %}

{% block content %}

   {# Since we already called global settings in base.html, we can use it here too. #}
   {{ global.greeting }}
   <img src="{{ global.logo|imageSize(50, 50) }}" />

{% endblock %}

How do I add RSS feeds?

RSS is added just like any other page on your site except that you use a .xml extension instead of a .html one. Let's say you want to create RSS for your blog. We'd create a page at pages/blogrss.xml with code that looked something like this.

<?xml version="1.0"?>
{# First we call the blog content from the CMS #}
{% set data = get('blog') %}

{# Here we limit the RSS to output 10 entries #}
{% set data = paginate(data, 10) %}

<rss version="2.0">
  <channel>
    <title>{{ getSetting('siteName') }}</title>
    <link>{{ getSetting('siteUrl') }}</link>
    <description>The blog for Webhook.com</description>
      {% for object in data|sort('publish_date', true) %}
      <item>
        <title>{{ object.name }}</title>
        <link>{{ getSetting('siteUrl') }}{{ url(object) }}</link>
        <description>
          {{ object.short_version }}

          {{ object.body }}
        </description>
        <pubDate>{{ object.publish_date }}</pubDate>
      </item>
    {% endfor %}
  </channel>
</rss>

This page will resolve at http://www.sitename.com/blogrss.xml.


Can I add a store to my site?

Yes, though if you want your site to be primarily a store you likely shouldn't be using Webhook for your main site. However, if you'd like to add a store you can use any store software and point it to a subdomain like http://store.yoursite.com/. For what it's worth we think Shopfiy is a great solution for small stores on the web.


How do I change my site's theme?

Themes can only be installed when you initially set up your site. If you need to change a theme after you've already installed one or started adding data run through the following steps:

  1. Load your local runserver.
  2. Visit the "Backups and Data" page at http://localhost:2002/cms/#/wh/settings/data
  3. Select "delete templates and data".

This will return you to the theme select page so you can start from scratch.


How do I edit my site across multiple computers?

You can find information on working on a Webhook site across multiple computers in the docs here.


Can I add login or authentication?

No. Webhook only allows login to the CMS portion of the site. If you need to build a system where users need to login to your site to access and change data outside of the CMS then you probably shouldn't use Webhook for your website.


Can I self-host Webhook?

Yes, and it's completely free. Documentation to get it set up is here.


How come my saved changes don't appear?

First, remember that Webhook will only rebuild the site for the CMS you are using. That means if you're editing your site on http://localhost:2002/cms/, only the local site will rebuild, not your live site at http://www.example.com. If you want to rebuild your http://www.example.com site, you'll need to edit the CMS at http://www.example.com/cms/. We do this specifically so that you can work locally and mess around before you deploy your changes.

However if you're making changes in the proper CMS and your site still isn't building check your build log at example.com/cms/. If it's showing a build error and you don't think your code is to blame send us a support email


How do a change the location of the CMS?

Simply rename the pages/cms.html file to whatever you want the url to be. Easy!


How do I add my own CSS styles to the CMS?

The entire CMS is loaded from pages/cms.html. You can add your own CSS file in that page below ours if you'd like to include custom CSS into the CMS. This is most useful for displaying your site styles in the preview versions of the WYSIWYG and markdown fields.


I lost my password

Go here to gain a temporary 24-hour password. You'll want to change it to something else immediately after.


My preview 404s to a dead link.

Webhook has no real concept of routing. If you decide to change your URLs outside of the scaffolding by making new pages, there's no way for us to resolve that. Unfortunately this means that the preview functionality can only work if you keep our original URL structure.


My command lines tools say they're out of date after updating, what gives?

If you updated your command line tools but still get the notice saying you need to update, try cleaning your npm cache. It might have an older version of Webhook and is trying to install from there.

# Uninstall Webhook
npm uninstall -g wh

# Clean your npm cache
npm cache clean

# Reinstall Webhook
npm install -g wh

The Webhook app is giving me Node errors, what to do?

Very rarely, the Webhook app will mis-install some key files. This can happen when we update remote files and after the app had previously been running fine normally. The easiest way to fix it is to delete the app's install directories for Node. You should do this after you've closed down the Webhook app.

rm -rf ~/Library/Application\ Support/Webhook/bin
rm -rf ~/Library/Application\ Support/Webhook/node_modules

Once removed, simply relaunch the app and it should reinstall the correct files. If you're still having problems, please contact us.


I'm getting strange ENOTEMPTY errors. What's up?

Occasionally you might see an ENOTEMPTY error in your terminal while running Webhook locally. This usually means that your Webhook directory is "locked" in some way by another resource. Specifically Windows tends to lock any directory that is open in Windows Explorer. So first thing's first, close Explorer if you're in Windows. If you're still seeing this error it may be that your text editor is keeping files open as you edit them (thus not allowing us to overwrite them during the build process). If you think this is the problem you should tell your editor to ignore the .build directory. In Sublime Text, you usually just need to add it to your user settings file like so.

"folder_exclude_patterns": [".svn", ".git", ".hg", "CVS", ".sass-cache", ".build"]