Hey, I also need your help. I have created a custom landing page, all my files are correct, but it is still showing me the raw JSON on it. Prior it was showing me the page, but didn’t show the photos uploaded on it.
It, is showing this and these are my codes below;
Landing-page.html
<!--
templateType: page
isAvailableForNewContent: true
label: “HubSpot Practice Landing Page”
-->
<!DOCTYPE html>
<html lang=“en”>
<head>
\<meta charset="UTF-8" />
\<meta name="viewport" content="width=device-width, initial-scale=1" />
\<title>HubSpot Landing Page\</title>
{{ standard\_header\_includes }}
\<link rel="stylesheet" href="{{ get_asset_url('../css/style.css') }}">
</head>
<body>
{% dnd\_area "landing\_page\_area" label="Landing Page Area" %}
{% dnd\_section %}
{% dnd\_module path="../modules/hero-section.module", label="Hero Section" %}
{% end\_dnd\_module %}
{% end\_dnd\_section %}
{% end\_dnd\_area %}
{{ standard\_footer\_includes }}
</body>
</html>
Module.html
<div class=“hs-hero”>
<header class=“hs-hero__header”>
\<div class="container">
\<a class="logo" href="/">
\<img src="{{ module.logo_src }}" alt="{{ module.logo_alt }}" />
\</a>
\<nav class="nav">
\<a href="#features">Features\</a>
\<a href="#pricing">Pricing\</a>
\<a href="#contact" class="btn-secondary">Contact\</a>
\</nav>
\</div>
</header>
<div class=“container hs-hero__content”>
\<div class="hs-hero__left">
\<h1>{{ module.heading }}\</h1>
\<p class="lede">{{ module.subheading }}\</p>
\<div class="hero-cta">
{% if module.show\_form %}
\<!\-\- A simple form placeholder; replace with HubSpot form embed or a module form later \-\->
\<form class="lead-form" action="#" onsubmit="event.preventDefault(); alert('Form submitted (local demo)');">
\<input name="email" type="email" placeholder="{{ module.cta_placeholder }}" required />
\<button class="btn-primary">{{ module.cta\_text }}\</button>
\</form>
{% else %}
\<a class="btn-primary" href="{{ module.cta_link }}">{{ module.cta\_text }}\</a>
{% endif %}
\</div>
\</div>
\<div class="hs-hero__right">
\<img src="{{ module.hero_image }}" alt="Hero image" />
\</div>
</div>
</div>
Theme.JSON
{
“label”: “HubSpot Landing Pro”,
“preview_path”: “templates/landing-page.html”,
“screenshot_path”: “images/screenshot.png”,
“author”: {
"name": "Haider",
"email": "your-email@example.com",
"website": "https://yourwebsite.com"
},
“license”: “MIT”,
“documentation_url”: “https://developers.hubspot.com/docs/cms”,
“version”: “1.0.0”
}