GithubHelp home page GithubHelp logo

isabella232 / visual-builder Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zapier/visual-builder

0.0 0.0 0.0 10.61 MB

Learn how to use Zapier Visual Builder to create new Zapier integrations

Home Page: https://platform.zapier.com

License: MIT License

HTML 53.70% Ruby 1.06% SCSS 45.25%

visual-builder's Introduction

Zapier Visual Builder Docs

Zapier Visual Builder

Develop the best Zapier integration for your app with Zapier's Platform UI and CLI

Zapier Platform UI

Zapier Platform UI is the easiest way to build new Zapier integrations in an online visual builder without any coding.

Zapier Platform CLI

Zapier Platform CLI is the most advanced way to build integrations in your local development environment with your team's source code management and custom testing.

Zapier Legacy Web Builder

Maintain existing Zapier integrations built with Zapier's original web builder:


Running Locally

The Zapier Visual Builder Docs website is built on Ruby and Jekyll. You'll need to make sure to have a few things installed before moving forward:

  1. Ruby 2.2.5+
  2. Bundler
  3. Jekyll 3.7.0+

Note: We recommend using Ruby Version Manager (rvm) to manage various versions of Ruby.

Once you've installed Ruby, Bundler and Jekyll you're ready to clone this repo.

git clone [email protected]:zapier/visual-builder.git

Now you'll want to install all of the dependencies to make this repo run.

bundle install

You should now have all of the packages installed and are ready to get up an running!

bundle exec jekyll serve

Go to 127.0.0.1:4000 in your browser and you'll be viewing a local instance of the Zapier Retreats. Now you can make updates to the site and see them change instantly in your browser! ๐Ÿš€

โœ๏ธ Ready to make some changes? Check out our contributing guidelines.


Adding a new collection (aka a new doc)

Please feel free to ask a developer or post in #design for help.

Step 1

Create a new folder in the docs folder with the format of _name. For example:

_updates

Step 2

Open up _includes/side-nav.html and add the following code but replacing example with your new collection name (e.g. updates). Note: the order of the side bar retreat items reflects the order of the code.

  {% include side-nav-item.html title="example" items=site.example section_id="example" current_section=current_section %}

Step 3

Open up _config.yml. Add the following code to collections section (replacing example with your collection name), respecting the order that you used in side-nav:

example:
  output: true
  permalink: /:collection/:name

Next, add this code to the defaults section (replacing example with your collection name):

- scope:
    path: ""
    type: "example"
  values:
    layout: default

Adding new posts

Step 1

Open up the _drafts folder and duplicate the name.md file (which has names of headings, sub-headings, table of contents, etc) and place it inside your new collection (e.g. _updates). So it would look like this:

_updates/name.md

Step 2

This part of the file is called Front Matter:

---
title: name
order: 1
layout: post
redirect_from: /name/
---

Here's what this information means:

  • The title: name is what appears on the side bar and top of the browser window.
  • The order: (number) determines placement in the left navigation.
  • The layout: post is default, but you can add layout: post-toc which will add the table of contents on the right based on the h2 you use.
  • The redirect_from: just put the name of the collection (e.g. _updates).

Step 3

Repeat to add more posts.


Code snippet highlighting

If you are using a language that contains curly braces, you will likely need to place {% raw %} and {% endraw %} tags around your code. Learn more.

The subscribe URL which looks something like `{% raw %}https://www.formstack.com/api/v2/form/{% templatetag openvariable %}form_id{% templatetag closevariable %}/webhook.json{% endraw %}`
{% highlight javascript %}
{% raw %}
var Zap = {
    pre_subscribe: function(bundle) {
        bundle.request.method = 'POST';
        bundle.request.headers['Content-Type'] = 'application/x-www-form-urlencoded';
        bundle.request.data = $.param({
            url: bundle.subscription_url,
            append_data: 1
        });
        return bundle.request;
    },
    post_subscribe: function(bundle) {
        // must return a json serializable object for use in pre_unsubscribe
        data = z.JSON.parse(bundle.response.content);
        // we need this in order to build the {% templatetag openvariable %}webhook_id{% templatetag closevariable %}
        // in the rest hook unsubscribe url
        return {webhook_id: data.id};
    },
    pre_unsubscribe: function(bundle) {
        bundle.request.method = 'DELETE';
        bundle.request.data = null;
        return bundle.request;
    },
};
{% endraw %}
{% endhighlight %}

Deploying changes to production

Changes merged to master go directly to production.


Need help?

Please feel free to ask a developer or post in #design for help.

visual-builder's People

Contributors

maguay avatar zanelyon avatar armchairlinguist avatar eliangcs avatar michellechu77 avatar xavdid avatar dannyaway avatar codebycaleb avatar szchenghuang avatar apollofer avatar aekaplan avatar ibolmo avatar kgodtfredsen avatar shalgrim avatar ralewis85 avatar bryanhelmig avatar breetelgraves avatar skylerwshaw avatar iscorer avatar michaelgilley avatar robwa10 avatar alejandronanez avatar megan-driscoll avatar reidoutloud avatar filipalacerda avatar dependabot[bot] avatar leonsodhi-lf avatar casshill avatar stevelikesmusic avatar tayhalla avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.