Embedding your feed on your website is as easy as adding a single line of code.
<iframe src="https://graze.social/feeds/embed/123"></iframe>
With this you'll get your feed rendered just like it is on Graze Social.
The feed support light customization though query string parameters.
The following parameters are supported:
bgColor
- The background color of a post.primaryTextColor
- The primary text color of a post.secondaryTextColor
- The secondary text color of a post.replyHeaderBgColor
- The background color of a reply header.replyHeaderTextColor
- The text color of a reply header.font
- Set the default font to any Google FontYou can also hide the "frame" from the iframe with the frameless=1
param.
<iframe
src="https://graze.social/feeds/embed/123?bgColor=white&primaryTextColor=black&secondaryTextColor=gray"
></iframe>
Using query string params you can modify the type of layout for the embed.
carousel
- Present the post in a carouselcarousel-auto
- A carousel that automatically scrolls to the next itemmasonry
- Lay the posts out pinterest style, users must click to load more postsmasonry-infinite
- A masonry layout that loads more posts as the user scrollsIf you have a feed that consists mainly of images you can use the imageStyle=1
param and the images will be featured more prominently.
The default iframe is ugly and it is very obvious that it is an iframe.If you're embedding a feed on your website, you probably want it to feel like part of your website.
To enable this the `iframe` will post a message to the parent window when it resizes. The parent window can then adjust the height of the iframe to fit the content.<div>
<iframe
src="http://localhost:4321/feeds/embed/1702"
frameborder="0"
style="width: 100%; border: none"
id="myIframe"
></iframe>
<script>
window.addEventListener(
"message",
function ({ data }) {
if (!data || !Array.isArray(data)) return;
// We'll send an event with the name `setHeight` and the data will be a
// object with the `id` of the iframe and the `height` of the iframe.
const [eventName, eventData] = data;
switch (eventName) {
case "setHeight": {
const iframes = document.getElementsByTagName("iframe");
for (const iframe of iframes) {
if (iframe.id === eventData.id) {
iframe.style.height = eventData.height + "px";
break;
}
}
}
}
},
false
);
</script>
</div>