<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Francisco Araujo</title>
    <description>The latest articles on DEV Community by Francisco Araujo (@fra403).</description>
    <link>https://dev.to/fra403</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1007623%2F223e139a-9798-4978-8ae2-9781cb90ae2c.png</url>
      <title>DEV Community: Francisco Araujo</title>
      <link>https://dev.to/fra403</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fra403"/>
    <language>en</language>
    <item>
      <title>Content Saas | Learning to walk with Bloomreach content SaaS</title>
      <dc:creator>Francisco Araujo</dc:creator>
      <pubDate>Fri, 19 May 2023 12:36:39 +0000</pubDate>
      <link>https://dev.to/bloomreach/content-saas-learning-to-walk-with-bloomreach-content-saas-3pbk</link>
      <guid>https://dev.to/bloomreach/content-saas-learning-to-walk-with-bloomreach-content-saas-3pbk</guid>
      <description>&lt;h2&gt;
  
  
  Blogs to enjoy before this one
&lt;/h2&gt;

&lt;p&gt;This is Blog number 2 of what I hope will become a &lt;em&gt;Content Saas | Learning to&lt;/em&gt; series.&lt;br&gt;
As such, to get a better idea of where we are, you should at least glance at the &lt;em&gt;Content SaaS | Learning to Crawl with Bloomreach Content SaaS&lt;/em&gt; Blog.&lt;br&gt;
If any questions come up during this blog, you can check the documentation website or the blog mentioned above.&lt;/p&gt;
&lt;h2&gt;
  
  
  What will be covered in this blog
&lt;/h2&gt;

&lt;p&gt;So, you have access to &lt;strong&gt;Bloomreach Content SaaS&lt;/strong&gt; and have created a couple of documents and pages. But how do we display something on that page? What if we want to create something a bit more costume?&lt;br&gt;
In this blog, we'll continue working on a fully integrated website and we'll answer the above questions. &lt;br&gt;
We'll start by customizing the &lt;strong&gt;Blog page&lt;/strong&gt; that we created on the previous Blog post. &lt;/p&gt;
&lt;h2&gt;
  
  
  Learning to walk | How I learned to add components to pages
&lt;/h2&gt;

&lt;p&gt;After you've logged in to your instance of &lt;strong&gt;Bloomreach Content SaaS&lt;/strong&gt; navigate to the &lt;strong&gt;Experience Manager tab&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwxiobfc9hb4vz8zsdbz2.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwxiobfc9hb4vz8zsdbz2.jpeg" alt="Image description" width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Navigate to the Blog Page. You can do this via the Menu item we created last time or via the &lt;strong&gt;Sitemap And Components Button&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmajyz3tegub6z8mn7td9.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmajyz3tegub6z8mn7td9.jpeg" alt="Image description" width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now that we're on the Blog page, we can proceed to add an already existing &lt;strong&gt;Component&lt;/strong&gt; to the page.&lt;br&gt;
But what is a &lt;strong&gt;Component&lt;/strong&gt;? A &lt;strong&gt;Component&lt;/strong&gt; is just a part of the website that can be reused as desired. For example, we could use a Banner with an image and a Title as a &lt;strong&gt;Component&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Components&lt;/strong&gt; are added to &lt;strong&gt;Containers&lt;/strong&gt;. &lt;br&gt;
You can view all containers on a page by clicking the &lt;strong&gt;Show Components outlines and content Button&lt;/strong&gt; button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo2o7a4fizca0hoah1edx.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo2o7a4fizca0hoah1edx.jpeg" alt="Image description" width="800" height="190"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To add a &lt;strong&gt;Component&lt;/strong&gt; to the page, click on the &lt;strong&gt;Sitemap and Components button&lt;/strong&gt;. This will display all the Sitemap Items and all the Components. Click on the Component button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fot54a0f3h2jrewj1myh0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fot54a0f3h2jrewj1myh0.png" alt="Image description" width="712" height="106"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This shows us a list of all available Components, be it &lt;strong&gt;Page specific Components&lt;/strong&gt; or &lt;strong&gt;Shared Components&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffvc7rca4jdtu2d84dxmw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffvc7rca4jdtu2d84dxmw.png" alt="Image description" width="708" height="1542"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The only difference between &lt;strong&gt;Page Specific Components&lt;/strong&gt; and &lt;strong&gt;Shared components&lt;/strong&gt; is the way they retrieve the information to display. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Page Specific Components&lt;/strong&gt; receive arguments directly in the component. This is more direct, but it forces you to rewrite the same information if you want to have the same component with the same fields.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6xfbl6sfj2uw9z4piyxo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6xfbl6sfj2uw9z4piyxo.png" alt="Image description" width="782" height="1280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shared Components&lt;/strong&gt; require you to provide a document with all the information.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyh2c1us6cjyf87l0j35z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyh2c1us6cjyf87l0j35z.png" alt="Image description" width="780" height="1578"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For now, let's simply add a ** Reference SPA Title &amp;amp; text ** single page component to the main container. You can give whatever values you want.&lt;br&gt;
This is the main container as you can see via the name.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx3tmydpu3ssa0s8lzw2f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx3tmydpu3ssa0s8lzw2f.png" alt="Image description" width="800" height="140"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Page should now look something like this.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhlhfd6a3hzfsvwti4nmb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhlhfd6a3hzfsvwti4nmb.png" alt="Image description" width="800" height="193"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then, we click on the components tab.&lt;/p&gt;
&lt;h2&gt;
  
  
  Learning to walk | How I learned to create my own components
&lt;/h2&gt;

&lt;p&gt;As you might have noticed, there's a limited amount of Components and they can't possibly cover all possible use cases. &lt;br&gt;
This is why &lt;strong&gt;Bloomreach Content SaaS&lt;/strong&gt; enables you to create costume components with virtually unlimited possibilites. From the most basic of components to the most complex.&lt;/p&gt;

&lt;p&gt;To create Components, simply click on the &lt;strong&gt;Site development&lt;/strong&gt; tab.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk4iuzc7c9omer8idoubx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk4iuzc7c9omer8idoubx.png" alt="Image description" width="488" height="1252"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then, we click on the components tab.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7t1ezjth28rtcfo8h3eu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7t1ezjth28rtcfo8h3eu.png" alt="Image description" width="800" height="74"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And follow by clicking the &lt;strong&gt;+Components&lt;/strong&gt; Button.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbfifdhvfxd0vxr38cce9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbfifdhvfxd0vxr38cce9.png" alt="Image description" width="264" height="94"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will show you a tab with a lot of different fields.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F74211bohh3hsntujujzo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F74211bohh3hsntujujzo.png" alt="Image description" width="800" height="616"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Display Name&lt;/strong&gt; defines the name that will be displayed in the &lt;strong&gt;Sitemap And Components&lt;/strong&gt; tab. &lt;br&gt;
The ctype field allows us to define the Component Name that the frontend will work refer to.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Extends&lt;/strong&gt; field defines what type of component we are going to create. &lt;br&gt;
There are  3 choices for the &lt;strong&gt;Extends&lt;/strong&gt; field.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbfirzoga40h1rp7ib081.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbfirzoga40h1rp7ib081.png" alt="Image description" width="800" height="220"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;base/component&lt;/strong&gt; field allows us to add a simple component without much background logic.&lt;/p&gt;

&lt;p&gt;The ** base/menu** field allows us to create an extra menu component that can be used.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;base/query&lt;/strong&gt; field allows the component to perform queries in the background.&lt;/p&gt;

&lt;p&gt;For now, we will be using the &lt;strong&gt;base/component&lt;/strong&gt;.&lt;br&gt;
Fill in the fields with the following values and then click the &lt;strong&gt;Create&lt;/strong&gt; button.&lt;/p&gt;

&lt;p&gt;The base/component field allows us to add a simple component without much background logic.&lt;/p&gt;

&lt;p&gt;Now, navigate to the Properties of the newly created component and click the &lt;strong&gt;+ Property Button&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;We will continue by adding a single Title property. This will be used in the frontend to display some text.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg697v1mm4kt5ijrcf8i5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg697v1mm4kt5ijrcf8i5.png" alt="Image description" width="800" height="502"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We've just created our first component. Currently, it's very simple, but we'll continue to iterate over this component in the following blogs.&lt;/p&gt;

&lt;p&gt;Now, if you go back to the Experience Manager, you'll see the component is now available.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frdgmpfa0owb5pj9x8o4i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frdgmpfa0owb5pj9x8o4i.png" alt="Image description" width="708" height="118"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Add it to the &lt;strong&gt;Right Container&lt;/strong&gt; on the Blogs page. You'll find that while the component is added you won't see anything.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj7edmeawu6r8rh4twomp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj7edmeawu6r8rh4twomp.png" alt="Image description" width="800" height="167"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is okay for now and will be addressed in the next chapter.&lt;/p&gt;
&lt;h2&gt;
  
  
  Learning to walk | How I learned to develop the front-end for my own components
&lt;/h2&gt;

&lt;p&gt;So far, we've managed to customize the Blogs page with some pre-existing components and even create our very own costume component. &lt;br&gt;
Now, all that's missing, is adding some frontend logic to the just created component.&lt;/p&gt;

&lt;p&gt;First thing, we need to connect our local frontend with the &lt;strong&gt;Bloomreach Content SaaS&lt;/strong&gt; environment.&lt;br&gt;
In this Blog, we are using &lt;a href="https://github.com/bloomreach/bloomreach-reference-spa" rel="noopener noreferrer"&gt;https://github.com/bloomreach/bloomreach-reference-spa&lt;/a&gt;. &lt;br&gt;
You might be using something different and that's okay. &lt;br&gt;
Just make sure to connect the frontend correctly.&lt;/p&gt;

&lt;p&gt;In the .env file quickly change the &lt;strong&gt;NEXT_PUBLIC_BRXM_ENDPOINT&lt;/strong&gt; to connect to your environment. &lt;br&gt;
It should be something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NEXT_PUBLIC_BRXM_ENDPOINT=https://&amp;lt;context-path&amp;gt;/delivery/site/v1/channels/&amp;lt;channel&amp;gt;/pages
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, in your channel settings make sure to point to the localhost url!&lt;/p&gt;

&lt;p&gt;Now that we've set up the frontend, we need to create a component with the exact same name as the component we created.&lt;/p&gt;

&lt;p&gt;In the React SPA project, we simply create the component folder in the components folder.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkr748dnb93bpqtpz4dkj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkr748dnb93bpqtpz4dkj.png" alt="Image description" width="532" height="172"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then, we simply start to write the frontend code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React from 'react';
import { ContainerItem, getContainerItemContent } from '@bloomreach/spa-sdk';
import { BrProps } from '@bloomreach/react-sdk';

export function AllBlogsComponent({ component, page }: BrProps&amp;lt;ContainerItem&amp;gt;): React.ReactElement | null {
  if (!component || !page) { return null; }

  if (component.isHidden()) {
    return page.isPreview() ? &amp;lt;div /&amp;gt; : null;
  }

  const { title:parameterTitle } = component.getParameters();

  return (
    &amp;lt;div&amp;gt;
      {parameterTitle &amp;amp;&amp;amp; &amp;lt;h1&amp;gt;{parameterTitle}&amp;lt;/h1&amp;gt;}
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And finally, we export it in &lt;code&gt;index.ts&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export { AllBlogsComponent } from './AllBlogsComponent';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, we simply add the export to the &lt;code&gt;App.ts&lt;/code&gt; and &lt;code&gt;index.ts.&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;The final result will look like this.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3v3ibnt2ghqzfut2424u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3v3ibnt2ghqzfut2424u.png" alt="Image description" width="800" height="192"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusions
&lt;/h2&gt;

&lt;p&gt;Congratulations!&lt;/p&gt;

&lt;p&gt;Over this blog, we managed to customize the Blogs page with a title and text and we've managed to even create our custom component with whatever frontend code we want. &lt;br&gt;
In the next blog, we will continue by improving the Blog page and further adding complexity to the Component we just created.&lt;/p&gt;

</description>
      <category>api</category>
      <category>webdev</category>
      <category>softwaredevelopment</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Content SaaS | Learning to Crawl with Bloomreach Content SaaS</title>
      <dc:creator>Francisco Araujo</dc:creator>
      <pubDate>Fri, 20 Jan 2023 15:18:22 +0000</pubDate>
      <link>https://dev.to/bloomreach/content-saas-learning-to-crawl-with-bloomreach-content-saas-2c6o</link>
      <guid>https://dev.to/bloomreach/content-saas-learning-to-crawl-with-bloomreach-content-saas-2c6o</guid>
      <description>&lt;h2&gt;
  
  
  Blogs to enjoy before this one
&lt;/h2&gt;

&lt;p&gt;This Blog assumes you know what &lt;strong&gt;Bloomreach Content SaaS&lt;/strong&gt; is and that you’ve set up your own developer’s workflow. If not, you can simply start reading the &lt;em&gt;Get Started with Bloomreach Content SaaS blog.&lt;/em&gt; This will help you set up an environment where you and your developers can quickly and efficiently start working.&lt;br&gt;
If there are any questions that come up during this blog, you can check the documentation website. It offers a wealth of content and tutorials for all levels which will be sure to help you with any doubts you might have.&lt;/p&gt;

&lt;h2&gt;
  
  
  What will be covered in this blog
&lt;/h2&gt;

&lt;p&gt;To better structure the learning, we will follow a “learn to walk before you learn to run” approach. We will start by creating basic, but fundamental things, and then moving on to more complex structures. By the end of the learning to crawl section you’ll be able to work with the experience manager, create documents, associate those documents with pages and edit the contents of the menu of those pages.&lt;br&gt;
In the future, there will be more blogs like this one designed to teach you subsequently more complex structures that can be achieved easily with &lt;strong&gt;Bloomreach Content SaaS&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning to crawl | How I learned the basics of the Experience Manager
&lt;/h2&gt;

&lt;p&gt;So, you have access to the &lt;strong&gt;Bloomreach Content SaaS&lt;/strong&gt; environment with a project ready to be worked on. But how do we get started?  Before work can be done, you need to be familiar with the &lt;strong&gt;Experience Manager&lt;/strong&gt;.&lt;br&gt;
These tool allows the users to view the preview of the page, as well as allowing users to add/edit content to several different pages.&lt;/p&gt;

&lt;p&gt;Users can view all the available urls, described as sitemap items in the &lt;strong&gt;Sitemap and Contents button&lt;/strong&gt;. &lt;br&gt;
This items are defined by documents in the &lt;strong&gt;content&lt;/strong&gt; tab and by the routes defined in the &lt;strong&gt;site development&lt;/strong&gt; tab. &lt;br&gt;
You can quickly view the preview of any of these urls by simply clicking on them. When viewing the preview, you’ll have the option to customise the page further by adding components to &lt;strong&gt;Containers&lt;/strong&gt; or by adding &lt;strong&gt;Channel Settings&lt;/strong&gt;. Channel Settings won't be mentioned in this blog, but they will be revisited in future blogs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Finrkaanpshf507x6l5jy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Finrkaanpshf507x6l5jy.png" alt="Image description" width="353" height="524"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Components Tab allows the users to view the available components. These components can then be added into any page that we want.  The difference between Page-Specific Components and Shared Components is just with the information that they receive.  Simply put, Shared Components receive documents with information that can be shared/used with other components. So two components could point to the one document.  On the other hand, Page-Specific Components receive the arguments directly. So the information can not be shared in different pages.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3pk8twqeqf1ob26ut62s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3pk8twqeqf1ob26ut62s.png" alt="Image description" width="352" height="745"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning to crawl | How I learned about documents
&lt;/h2&gt;

&lt;p&gt;The Content Tab allows the users to create and edit documents. Documents are used for a variety of things such as to save information that we want to display or to create pages.  Documents have different types, named &lt;strong&gt;Document Types&lt;/strong&gt;. Different document types allow different types of information.&lt;br&gt;
You can create a document by clicking on the 3 dots next to the folder name. The following menu will appear &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy7tkftii4xkv54hdd573.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy7tkftii4xkv54hdd573.png" alt="Image description" width="634" height="592"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we want to create a new document we simply click the &lt;strong&gt;New Document…&lt;/strong&gt; option.  Once clicked, you must select which Document Type you want, what title to give it, and if you have more than a single project, which project to create it to. By default the Core Project is selected. The Core Project functions as the main branch in the source control. All changes by default will be to the Core Project.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4t2owbkfx2rd6jrjdl52.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4t2owbkfx2rd6jrjdl52.png" alt="Image description" width="602" height="516"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The difference between the Name option and the URL Name option is that the Name option is what is shown to the world. While the URL Name option is what is used internally to reference the document.&lt;/p&gt;

&lt;p&gt;When you click the &lt;strong&gt;OK&lt;/strong&gt; button the document will be officially created. &lt;/p&gt;

&lt;h2&gt;
  
  
  Learning to crawl | How I learned to work with pages
&lt;/h2&gt;

&lt;p&gt;Let’s put everything we learned on the last chapter together by creating a &lt;strong&gt;Blogs&lt;/strong&gt; Page. In this page, we will eventually display all Blogs documents. &lt;br&gt;
To create a page, you simply need to create a document with a Page Document Type. &lt;br&gt;
The first step is to select/create the folder we want to create the page. In this case, a Blogs Subfolder will be created under the &lt;strong&gt;Pages Subfolder&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe29s418qnj8i50k53hkx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe29s418qnj8i50k53hkx.png" alt="Image description" width="542" height="346"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is achieved by simply clicking the &lt;strong&gt;New Reference Spa Page Folder&lt;/strong&gt; and giving it the &lt;strong&gt;Blogs&lt;/strong&gt; name. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3n9ivhsihu68lt6fhyih.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3n9ivhsihu68lt6fhyih.png" alt="Image description" width="232" height="158"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We then click on the &lt;strong&gt;Blogs&lt;/strong&gt; subfolder and select &lt;strong&gt;New Page Document&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe4idiizu70hirii6n7gv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe4idiizu70hirii6n7gv.png" alt="Image description" width="470" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Page Layout field simply selects where the containers are. It’s possible you have different options, but any choice works. &lt;br&gt;
We then simply create the document by selecting &lt;strong&gt;OK&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzg8bh3zbru09elc8ictd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzg8bh3zbru09elc8ictd.png" alt="Image description" width="800" height="81"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can see then that the Blogs page has been created, but we’re still not done. In the image above, we can see a lot of information being displayed. At first glance we see the &lt;strong&gt;Name&lt;/strong&gt; of the document and a &lt;strong&gt;sign&lt;/strong&gt; next to it. The sign indicates the document’s &lt;strong&gt;State&lt;/strong&gt;. Currently, the document is in a &lt;strong&gt;Not Published State&lt;/strong&gt;.&lt;br&gt;
 A document can have 3 states: &lt;strong&gt;Not Published&lt;/strong&gt;, &lt;strong&gt;Published&lt;/strong&gt;, and &lt;strong&gt;Published with Changes&lt;/strong&gt;. Published with changes simply means there are changes that are not yet viewable in the live site, but are available in the preview.&lt;/p&gt;

&lt;p&gt;Along with the &lt;strong&gt;Name&lt;/strong&gt; and &lt;strong&gt;State&lt;/strong&gt;. We can see more information about the &lt;strong&gt;Blogs&lt;/strong&gt; document. Such as the &lt;strong&gt;Type&lt;/strong&gt;, when it was &lt;strong&gt;Last modified&lt;/strong&gt;, by who it was created, when it was &lt;strong&gt;published&lt;/strong&gt; and lastly the available &lt;strong&gt;Translations&lt;/strong&gt;.&lt;br&gt;
Once we click on the document, we can see all the information it contains. Your document might contain different info. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv0vwgkoqvmhxng2gthpi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv0vwgkoqvmhxng2gthpi.png" alt="Image description" width="800" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example, this document contains a title and some metainfo description. It also has an Open Graph Compound which itself contains more information.&lt;/p&gt;

&lt;p&gt;You can edit the document by clicking the &lt;strong&gt;Edit&lt;/strong&gt; button at the top menu. Click it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3s5tj0upijfy40lega3t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3s5tj0upijfy40lega3t.png" alt="Image description" width="800" height="577"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; You can publish/depublish the document by clicking the &lt;strong&gt;Publish Button&lt;/strong&gt; after you’re done editing. You can see/edit information about the document via the &lt;strong&gt;Document Button&lt;/strong&gt;. Finally, you have the &lt;strong&gt;View&lt;/strong&gt; button. The &lt;strong&gt;View&lt;/strong&gt; button allows you to preview the document.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftnwxb8zmfr0zpkiyj230.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftnwxb8zmfr0zpkiyj230.png" alt="Image description" width="800" height="293"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Congratulations, you’ve just created your first page. We’ll continue by customising the menu. &lt;/p&gt;

&lt;h2&gt;
  
  
  Learning to crawl | How I learned to edit the menu
&lt;/h2&gt;

&lt;p&gt;In this section, we will add the &lt;strong&gt;Blogs&lt;/strong&gt; menu item. Editing the menu is as simple as going to the Experience Manager and then selecting the &lt;strong&gt;menu link&lt;/strong&gt; button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqwywrrdrxajaqlsl6240.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqwywrrdrxajaqlsl6240.png" alt="Image description" width="110" height="110"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once clicked, a menu will appear where we can add/remove/edit whatever menu options we want.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz8effncxl6o7mqdljbqj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz8effncxl6o7mqdljbqj.png" alt="Image description" width="800" height="186"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can add root menu items and submenu items by simply clicking the +Menu Item button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fox8wqrqmz0y7oux78qtr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fox8wqrqmz0y7oux78qtr.png" alt="Image description" width="276" height="86"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once clicked, a root item will appear.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fffuljuw3mr7bjjbyci82.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fffuljuw3mr7bjjbyci82.png" alt="Image description" width="538" height="417"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This Menu Item could then be edited to be whatever we want. We edit the Title of the menu item via the menu field, and we can select the link to an internal page via the internal link option or an external link via the external link option. In this case, we select the document we created in the previous field. &lt;br&gt;
 &lt;strong&gt;Note&lt;/strong&gt;: Don’t forget to select the documents option!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F49pduk8i06ayc9ne0038.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F49pduk8i06ayc9ne0038.png" alt="Image description" width="470" height="310"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
In the end, the &lt;strong&gt;Blogs&lt;/strong&gt; menu item has been added and we've linked it to our new page. This allows users to visit the &lt;strong&gt;Blogs Page&lt;/strong&gt; once.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ez3jpzto3a9gt9x6ihc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ez3jpzto3a9gt9x6ihc.png" alt="Image description" width="800" height="106"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusions
&lt;/h2&gt;

&lt;p&gt;Creating documents and pages are simple but strong tools that allows Users to quickly create visible content and change the way pages look. &lt;br&gt;
We'll continue editing and making more and more complex steps in future blogs.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>showdev</category>
      <category>softwaredevelopment</category>
    </item>
  </channel>
</rss>
