Giter Site home page Giter Site logo

joinjanay-js / builder Goto Github PK

View Code? Open in Web Editor NEW

This project forked from builderio/builder

0.0 1.0 0.0 13.72 MB

Drag and drop page building for any site

Home Page: https://builder.io

License: MIT License

JavaScript 9.34% TypeScript 87.62% HTML 0.66% CSS 0.34% Java 0.37% Objective-C 0.96% Ruby 0.27% Starlark 0.43%

builder's Introduction

BUILDER

Drag and drop page building for any site.



Editor example

We're hiring!

Want to work on the future of visual software development? Email me at [email protected] and let's talk

John the community!

Questions? Requests? Feedback? Chat with us in our Spectrum Community!

How does it work?

  • Integrate the Builder API or SDK to your site or app
  • Create a free account on builder.io and drag and drop to create and publish pages
  • Profit

What is it good for?

  • Landing pages
  • Marketing pages (Homepage, promotions, etc)
  • Content pages (About, FAQ, help, docs, etc)
  • Freedom from marketing teams that never stop asking for new things
  • Developers who are tired of pushing pixels

Supported Frameworks

Framework Status
REST API Stable
React Stable
Next.js Stable
Webcomponents Stable
Angular Stable
React native Beta
Email Stable
AMP Stable
Preact Stable
Everyting else
Go, Php, Java, Vue, Ruby/Rails, Vanilla JS, etc
Use our HTML API

Want suppoert for something not listed here or for us to priotize something coming soon? Drop us an issue and let us know! We prioritize based on the community's needs and interests.

What's in this repository?

This repo houses all of the various SDKs, usage examples, starter projects, and plugins

Quick start

To start on a fresh project quickly, take a look at our react starter. To integrate Builder to an existing project take a look at the instructions below

Getting Started with React

npm install --save @builder.io/react

Grab a free account at builder.io and find your API key

Next, create a new page in Builder with URL /something and publish it.

Then, in your code:

import { builder, BuilderComponent } from '@builder.io/react';

builder.init(YOUR_KEY);

And in your router

<Route path="/something" render={() => <BuilderComponent model="page" />}>

Create a new page with url "/something" in Builder and change the preview URL to localhost:port/something (e.g. localhost:8888/something if your dev server is on port 8888) and edit!

Try it in CodeSandbox

Open this example in CodeSandbox

Using your components

Wrap a component

import { withBuilder } from '@builder.io/react';

class SimpleText extends React.Component {
  render() {
    return <h1>{this.props.text}</h1>;
  }
}

export default withBuilder(SimpleText, {
  name: 'Simple Text',
  inputs: [{ name: 'text', type: 'string' }],
})

Then back at your page

import './simple-text'

// ...

<Route path="/something" render={() => <BuilderComponent model="page">}>

Open the dashboard and use it!

See our docs site for additional help and information, or contact us if you run into any issues or questions!

For lots of examples of using React components in Builder, see the source for our built-in Builder blocks here and widgets here

Dynamic landing pages

One of Builder's most powerful features is allowing the creation of new pages for you. See a simple example of how to do this with react-router below:

class CatchAllPage extends Component {
  state = {
    notFound: false,
  };

  render() {
    return !this.props.notFound ? (
      <BuilderComponent
        name="page"
        contentLoaded={content => {
          if (!content) {
            this.setState({ notFound: true });
          }
        }}
      >
        Loading...
      </BuilderComponent>
    ) : (
      <NotFound /> // Your 404 component
    );
  }
}

// Then in your app.js
export default () => (
  <Switch>
    <Route path="/" component={Home} />
    {/* Your other routes... */}
    <Route component={CatchAllPage} />
  </Switch>
);

For more advanced usage, like checking for page existence/404 on the server using the Content API, see our detail landing page docs here or if using Next.js see our docs for that here

Don't use React?

Our HTML API works for any site

let page = await request(
  `https://cdn.builder.io/api/v1/html/page?url=${PAGE_URL}&apiKey=${YOUR_KEY}`
);
if (page) {
  let html = page.data.html;
  // Put the html in your page template between your header and footer and you are done!
}

Troubleshooting and feedback

Problems? Requests? Open an issue. We always want to hear feedback and interesting new use cases and are happy to help.

builder's People

Contributors

steve8708 avatar ca136 avatar lyczos avatar dependabot[bot] avatar

Watchers

James Cloos 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.