# Website Builder

![Sonoran CMS - Custom Pages](https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-e93b7cbb03a8f20d4139d60cc4d389366ca678c7%2Fweb-updated.png?alt=media)

{% embed url="<https://youtu.be/OYV8JbnqLrU>" %}

To access the website builder, navigate to `Administration Panel` > `Website Builder`

## Page Editing

To start editing a page, either add a new page or click on an existing page in the page to open up the page editor.

![Sonoran CMS - Page Editor](https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-8fe5e2fcc1a16c4b212841444e89f5755b5415d2%2FScreenshot%20\(244\).png?alt=media)

## View Your Page

Once your page is created and saved, you can [add it to the toolbar](#toolbar) or copy the URL to access it.

![Sonoran CMS - Copy Page URL](https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-d9680a46d6b0bd15d42fa4d0357320453c9a2b00%2FScreenshot%20\(245\).png?alt=media)

{% hint style="info" %}
On public pages you can copy the URL after going to a page and share it with anybody, they don't even have to be part of the Sonoran CMS community!
{% endhint %}

To add sections to your web page, simply drag and drop your desired section type in from the left hand side. The following section types are available to use:

<table><thead><tr><th width="208">Element Type</th><th>Description</th></tr></thead><tbody><tr><td>Text</td><td>The text section includes a rich editor for including blocks of text. In this editor, you are able to set font sizes, bold, italic, underline, strike-through, and more!</td></tr><tr><td>Image</td><td>Image sections allow you to insert one image into your page, just paste a link to the image in the text box.</td></tr><tr><td>Image Carousel</td><td>Allows you to insert multiple images in the space of one, automatically cycling between them.</td></tr><tr><td>Video</td><td>The video section can be used to insert YouTube links into your custom page, just paste a regular YouTube link (or a shortened one) into the text box.</td></tr><tr><td>Forum Category</td><td>Forum Category sections allow you to have a section to display all associated posts to the selected forum category.</td></tr><tr><td>Button</td><td>Button sections allow you to put individual buttons on your page that can be directed to an external page, custom form, or custom page.</td></tr><tr><td>Button Group</td><td>Button Group sections allow you to have a group of buttons together on your page that can be directed to an external page, custom form, or custom page.</td></tr><tr><td>Card</td><td>Allows you to add and customize "cards" which can be configured to display information on members or characters as well as links.</td></tr><tr><td>Information Block</td><td>Information Block sections allow you to add multiple blocks to provide information for, these can be configured to grab "Total Community Members", "Total Department Members" or "Custom". "Custom" allows for customizable text.</td></tr><tr><td>Gallery</td><td>Gallery sections are the first element for the gallery system, this allows you to show all posts in the gallery category.</td></tr><tr><td>HTML</td><td>If you know HTML you can further customize your page by directly adding HTML code. To edit the HTML you must click on the element and input your HTML into the text box for. Please not you are <a href="#html-elements-limits">limited to certain element types</a>.</td></tr></tbody></table>

### Basic Information

From the website builder's toolbar you can change the page's title, path slug, and privacy setting. Additionally, you're able to add new sections, and change the preview size of the editor to visualize different size settings.

<figure><img src="https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-0b51506926ef4f09b2eab722048d4e41b4dd40ac%2FScreenshot%20(246).png?alt=media" alt=""><figcaption><p>Sonoran CMS - Webpage Toolbar</p></figcaption></figure>

The device preview feature allows you to choose from a list of devices, or set your own custom resolution to give you further control over designing your community's website with mobile responsiveness in mind!

<figure><img src="https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-f8f96ded1c0c7cebb5cdfee3fdae77332191b50f%2FScreenshot%20(247).png?alt=media" alt=""><figcaption><p>Sonoran CMS - Webpage Toolbar - Device Preview</p></figcaption></figure>

### Section-Specific Styling

Sections are containers for elements that exist within a webpage. You can add multiple sections and resize / move them however you'd like.

You can customize the margin and background styling of specific sections.

**Margin** refers to the space outside an section. It can be used to create space between sections on a page or to push elements away from the edges of the page. In your page editor, you can change margin options for different areas, such as top, bottom, left and right.

<figure><img src="https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-f41a9e5f666f93a8abe81415a87cbfb0e178f0a3%2FScreenshot%20(248).png?alt=media" alt=""><figcaption><p>Sonoran CMS - Website Builder - Edit Section Margins</p></figcaption></figure>

You can also dynamically resize and position sections by clicking any of the boxes around the edges and dragging them to your desired position.

<figure><img src="https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-5a263181c3d9f0df6a26cc6d0b570ac86bf08f6c%2FScreenshot%20(250).png?alt=media" alt=""><figcaption><p>Sonoran CMS - Website Builder - Resize Section</p></figcaption></figure>

There is also a button at the top of the section that allows you to click and drag to move the section:

<figure><img src="https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-98d55cd7374efcbb17c90b26b4dcdbd1879fe250%2FCMS_WB_MoveSection.png?alt=media" alt=""><figcaption><p>Sonoran CMS - Website Builder - Move Section</p></figcaption></figure>

### Element Sizes, Alignment and Background

You can also control the size of individual elements using the same method above, and you can click and drag to move any element wherever you'd like.

Elements will also snap to center lines within their respective section to assist with positioning.

<figure><img src="https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-fd29e33a3b30caaa81f87c6310dffd2324ddf4ea%2FScreenshot%20(252).png?alt=media" alt=""><figcaption><p>Sonoran CMS - Website Builder - Resize &#x26; Reposition Element</p></figcaption></figure>

In the top right corner of the button element above, you can see an orange lock icon. This means that this element is locked to the section its in. To move an element to another section, you can click this button to unlock the element, drag it to the section you desire, and then re-lock it.

### Buttons

If you wish to add buttons to your page, you can add a button or button group section to your page. Each button has several settings that define how the button looks like and acts. Each button can be direct users to external websites, custom forms and custom pages.

Button elements can have individual styles and button group elements can have all group styles.

You can customize by clicking on it. The styling of a button is set in the `Styles` tab, the target link a button leads to is set in the `Target` tab.

<figure><img src="https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-c9b8ea876756913626228f9c72e67b01a78d9d3c%2FScreenshot%20(253).png?alt=media" alt=""><figcaption><p>Sonoran CMS - Website Builder - Button Editor</p></figcaption></figure>

For Button Group elements, you can add as many target links as you need, and re-order or delete them using the controls on the top right of each entry.

<figure><img src="https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-7303164c0b4b5538e0cd1d14455348f3b5e1ae31%2FScreenshot%20(254).png?alt=media" alt=""><figcaption><p>Sonoran CMS - Website Builder - Button Group Targets</p></figcaption></figure>

## Privatized Pages

{% hint style="info" %}
Only Private Pages will have customizable permissions in the Department Editor
{% endhint %}

Pages can now be privatized and require permissions to view. When editing a page, you can select whether the page is public (and can thus be viewed by anyone in the community) or private.

<figure><img src="https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-41b40e05ba54aeec65588660f5d3f343558b68e1%2FScreenshot%20(255).png?alt=media" alt=""><figcaption><p>Sonoran CMS - Visibility Button</p></figcaption></figure>

If it's set to Private, you can use the dropdown to the right to select what ranks are allowed to view this page.

<figure><img src="https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-c12b16b7c906ef1951bdba14db8ff936c1a2c299%2FScreenshot%20(256).png?alt=media" alt=""><figcaption><p>Sonoran CMS - Open Rank Selector</p></figcaption></figure>

<figure><img src="https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-8d9de7f1b6da668bcc1532164e829479e6c839f2%2FScreenshot%20(257).png?alt=media" alt=""><figcaption><p>Sonoran CMS - Select Rank to View Page</p></figcaption></figure>

## Default / Landing Page

Sonoran CMS allows you to easily customize the landing page/dashboard for your community, this page is the first page your members will see from signing into your community. This allows the full customization of a custom page for your landing page.

<figure><img src="https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-7800b1105747887aab94d8e99c3f0f54523a749a%2FCMS_WebsiteBuilderHomepage.png?alt=media" alt=""><figcaption><p>Sonoran CMS Custom Page as Dashboard Page</p></figcaption></figure>

To set a Custom Page as your homepage, navigate to the main page for the Website Builder and look under the section titled `Website Pages`. Locate the page you wish to use as your homepage and press the grey gear icon then the grey home icon, this will turn it orange and set it as the landing page.

<figure><img src="https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-30ab7c0404054b0262fb03a68cf7c79e692a0db1%2FScreenshot%20(259).png?alt=media" alt=""><figcaption><p>Sonoran CMS - Set Homepage</p></figcaption></figure>

## Custom Page Paths

Custom Pages can now have a custom path to the page, this path will append to the Sonoran CMS URL. If you're using a custom domain it'll detect that and provide the proper URL.

<figure><img src="https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-5e092d8a5060f8992779b3cb756b4d661423e21f%2FScreenshot%20(260).png?alt=media" alt=""><figcaption><p>Sonoran CMS - Page URL Slug</p></figcaption></figure>

## Page SEO

Clicking on the cog on the right side of the `Page Title` box will open the SEO panel. Here you can set a custom image and description for the website's page. These will show in embeds, such as when you paste the link in Discord.

<figure><img src="https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-3766a5354a5de83f7081d5a30a9c3a1caac64f65%2FCMS_WB_SEOPanelExampleSq.png?alt=media" alt="" width="213"><figcaption><p>Sonoran CMS - SEO Panel</p></figcaption></figure>

If you have a **Standard** subscription or higher, the "Sonoran CMS" branding in the title will be removed.

Please be aware that Discord will locally cache the embed info - so updates may not show right away.

<figure><img src="https://3006847189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdBOa9OFjtdqw9FdXli%2Fuploads%2Fgit-blob-6b5c646a26bbb2ed57c62ba7e6e8e9ef47697cdd%2FCMS_PageSEOExample.png?alt=media" alt="" width="289"><figcaption><p>Sonoran CMS - SEO Discord Embed</p></figcaption></figure>

Additionally, there are third party sites such as [HEY META](https://www.heymeta.com/) that can be used to check your page's "meta" tags and show it, without caching like Discord would. After you've saved the page, you can use this to verify that the image and description display how you want.

## Custom Domain

Sonoran CMS allows you to display your community website [on your own domain](https://docs.sonoransoftware.com/cms/tutorials/customization/custom-domain)!

## Toolbar

Sonoran CMS allows you to [customize the top toolbar](https://docs.sonoransoftware.com/cms/tutorials/community-website/toolbar-customization) with buttons to link your users to whatever your community needs.

## HTML Elements Limits

HTML elements get sanitized before they're saved, displayed or manipulated.

* **Allowed Tags**: A wide range of HTML tags for different purposes including:
  * Structural elements like `header`, `footer`, `main`, `nav`, `section`.
  * Text formatting tags such as `h1` through `h6`, `strong`, `em`, `b`, `i`.
  * List elements like `ul`, `ol`, `li`.
  * Table components including `table`, `th`, `td`, `thead`, `tbody`, `tfoot`.
  * Media embedding tags `img` and `iframe`.
  * Inline elements like `span`, `br`, `mark`, `small`.
  * Text semantic tags such as `time`, `code`, `var`, `samp`.
* **Attributes**:
  * Allows `style` universally.
  * For `a`: `href`, `name`, `target`.
  * For `img`: `src`, `srcset`, `alt`, `title`, `width`, `height`, `loading`.
  * For `iframe`: `src`, `height`, `width`, `name`.
* **Styles**:
  * Basic layout and visual styling such as `width`, `height`, `border`, `padding`, `margin`, `background`, `display`, `opacity`, `overflow` and `visibility`.
  * Specific regex patterns are set for `color`, `text-align`, and `font-size` to control text styling and coloring with precise formats.
