Skip to main content

YepCode Landings

YepCode allows to manage countless variations of landing pages effortlessly.

Just create customizable HTML layouts with replaceable tokens and then generate langing instances provided the needed information.

For a comprehensive demonstration of how YepCode Landings works, watch the full demo video below:

Claim Your Access

Access to YepCode Landings is exclusive to some of our paid plans. If you're interested in trying it out, simply fill this form:

Create your first template

Just use the Create button and the form to create a template will be shown:

Each template has the following information:

Name and slug

Just some descriptive information.

HTML Source Code

It's the full HTML code that will be rendered when someone visit the landing.

You can include any necessary external assets such as CSS, JavaScript files, and images within your HTML code. If required, we can provide web storage space to upload your external assets.

Your HTML code can utilize replaceable tokens using the Mustache syntax. These tokens will be dynamically replaced with values provided during landing creation.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello, {{name}}!</title>
<style>
body {
background-color: #f0f0f0;
font-family: Arial, sans-serif;
margin: 0;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
}

h1 {
font-size: 5em;
color: #b84ef4;
text-align: center;
}
</style>
</head>
<body>
<h1>Hello, {{name}}!</h1>
</body>
</html>

Properties schema.

The tokens used in your HTML code must be defined in these properties schema, that uses the JSON Schema form specification, and the library we use to render the form is react-jsonschema-form.

The slug and name attributes are mandatory, and inside the variables node, you coud add as may attributes as you could need (in this sample we only ask for a string field for the name):

{
"title": "Template configuration",
"type": "object",
"properties": {
"slug": {
"type": "string",
"title": "URL path",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"name": {
"type": "string",
"title": "Landing name"
},
"variables": {
"title": "Template variables",
"type": "object",
"properties": {
"name": {
"title": "Your name",
"description": "This is a variable that will be replaced in the landing render",
"type": "string"
}
},
"required": [
"name"
]
}
},
"required": [
"slug",
"name"
]
}

Here you have a more complex sample, including text areas and also a input type file, that will allow you to upload files when you create the landings:

{
"title": "Template configuration",
"type": "object",
"properties": {
"slug": {
"type": "string",
"title": "URL path",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"name": {
"type": "string",
"title": "Landing name"
},
"variables": {
"title": "Template variables",
"type": "object",
"properties": {
"title": {
"title": "Page meta title",
"type": "string"
},
"description": {
"title": "Page meta description",
"type": "string"
},
"heading_title": {
"title": "Heading title",
"type": "string"
},
"heading_text": {
"title": "Heading content",
"type": "string",
"ui": {
"ui:widget": "textarea"
}
},
"heading_image": {
"type": "string",
"format": "file",
"title": "Heading image",
"isTransient": true
}
},
"required": [
"title",
"description",
"heading_title",
"heading_text"
]
}
},
"required": [
"slug",
"name"
]
}

Create your first landing

Once you've defined your template layout and properties, you can begin creating landings.

Simply select the desired template, and the associated properties will be displayed:

The URL path will determine the availability of your landing page. By default, it will be hosted under a YepCode domain:

https://landings.yepcode.io/{{your-workspace-id}}/{{your-landing-url-path}}/

But you can configure a CNAME record so that your landing page will also be accessible under your own domain.

Do you need something more

Just drop us a message if you think that YepCode Landings cover your needs you but you need some kind of help.