Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Learn more about the Elements WYSIWYG Editor
RapidWeaver Elements comes equipped with a powerful built-in WYSIWYG (What You See Is What You Get) editor that allows you to create and refine your website visually, in real time. Whether you’re a seasoned web designer with years of experience or someone just starting out, you’ll feel right at home with its intuitive interface.
The WYSIWYG editor in Elements is designed to be both versatile and accessible. For professionals, it provides the flexibility and precision needed to bring detailed designs to life quickly. You’ll find that you can tweak your layout, typography, and styling on the fly, with results that reflect exactly how your site will appear when published.
If you’re a newcomer, Elements ensures you’re never overwhelmed. Its streamlined editing experience allows you to build and customize your website with ease, using familiar tools and controls. You can see changes as you make them, eliminating the guesswork and making the process enjoyable and straightforward.
With this editor, you can focus more on creativity and less on code. But when you do need to dive into the code, Elements has you covered with seamless integration between the WYSIWYG interface and custom HTML or CSS edits.
In short, RapidWeaver Elements’ WYSIWYG editor strikes the perfect balance between simplicity and power, making it an essential tool for anyone looking to create beautiful, functional websites efficiently.
Change your design based on responsive breakpoints
The responsive breakpoint system in Elements allows you to change component properties at different user defined breakpoints (i.e. Mobile, Table, Desktop, etc).
On the first “mobile” screen size you won't see any small dots by the controls in the Inspector. As you move up to the next size (SM) you'll see grey dots beside the controls in the Component inspector. If you click on a grey dot (to turn it blue) you can override the setting for that control. Once you add a blue dot you will have that setting for everything above. It’s always left to right. Watch the video below to see how this works in practice.
Breakpoints for a project be defined in the Screens area of the Theme Studio.
RapidWeaver Elements is a no-code website builder for macOS.
RapidWeaver Elements (aka Elements) is designed to cater to all skill levels, whether you’re a beginner looking for simplicity or an experienced web developer needing advanced customisation, Elements offers the perfect balance. With its user-friendly interface and powerful features, you can create fast, efficient, and beautiful websites with ease.
RapidWeaver Elements has everything you need built-in to build a beautiful modern website, and it's getting better all the time thanks to our passionate user base.
If you're new to Elements our Quickstart Guide will help you get started building your first website. Fast!
Explore our collection of useful resources to help you build even better websites with Elements.
How to use Apple Intelligence Writing Tools in RapidWeaver Elements.
We’re thrilled to share that Elements now supports Apple Intelligence in its Text based Components, giving you a powerful, seamless way to enhance your writing workflow. Whether you’re crafting headings, paragraphs, or rich text blocks, these AI-powered tools are designed to make writing faster, smarter, and more intuitive.
You can now effortlessly generate, refine, and polish your content right within Elements. Need a quick draft to kickstart your creativity? Want to rephrase a sentence or simplify a technical explanation? The Apple Intelligence writing tools are here to help with just a click or tap.
With these new capabilities, you’ll spend less time worrying about wording and more time bringing your creative vision to life. We’re excited to see how these tools help you express yourself more clearly and efficiently.
Manage the structure of your website.
Easily manage the structure of your website. Create pages and folders and drag to re-arrange them just like you would in the Finder.
To create a new page, press Command-N or use the "+" symbol to the right of the Pages title.
To create a new file inside of your project, right click inside of the Page Manager and choose "New File".
Add links to your site structure. To Create a link page, right-click in the Pages area and select "New Link" from the menu.
To create a new Markdown File with option front matter, right click inside of the Page Manager and choose "New Markdown File".
Folders are a great way to organize site content when you don't need a top level page. Folders can contain any number of pages or additional folders.
To Create a folder, right-click in the Pages area and select "New Folder" from the menu.
Customise the Elements user interface to the way you work
Elements gives you full control over your workspace so you can set things up exactly how you like to work. Rearrange panels, resize the inspector, collapse areas you don’t need, or spread everything out across multiple monitors. Your layout is saved automatically, so when you reopen Elements it looks just the way you left it.
Whether you prefer a minimal setup with just the essentials, or a fully expanded view with every panel visible, the workspace adapts to your workflow. It’s designed to get out of your way and let you focus on building your site.
Preview your website in any browser on your Mac
While the WYSIWYG editor allows you to view your design, you'll sometimes want to check how it looks in a browser.
To preview your website in your default browser, you can click the Safari Browser icon in the toolbar (Command-P). You can also press Command-Option-P to choose a different browser.
Modify display properties on the selected Component
The Component Inspector in Elements lets you edit the properties of the currently selected component. When you click on a component in your design, its available settings appear in the Inspector, giving you full control over how it looks and behaves.
The Inspector is context-aware, meaning the options change depending on which component you have selected. This keeps the interface clean and ensures you only see the settings that are relevant.
To change the display modes in the Component Inspector, right-click on a heading and choose from the following options:
Expand All - Will expand all settings.
Collapse All - Will collapse all open settings.
Single Group Mode - Switching to the single group mode only allows one setting area to be open at a time.
When in Single Group mode the only option available in the right-click menu is switch back to default mode:
Single Group Mode (ticked) - Untick to switch back to the default mode, this will then allow you to view multiple setting at the same time again.
Automatic colour switching based on the users system settings
With dark mode now a prominent feature in many operating systems, it’s increasingly common to create a dark version of your website alongside the default design.
Elements supports automatic switching between light and dark mode. This approach enables automatic theme switching based on the user’s system (or browser) settings, ensuring websites adapt seamlessly to both light and dark modes.
For Light and Dark mode to work seamlessly we recommend basing your websites on the following three colours, Brand, Accent, Surface, and Text.
For the dominant colour of your website we recommend using the Brand colour from the Theme Studio.
For Elements like Buttons, colour fill on Icons, Dividers, we recommend using Accent colour from the Theme Studio.
For Background colours we recommend using the Surface colour from the Theme Studio.
For Text colours we recommend using the Text colour from the Theme Studio.
Every colour in Elements supports Dark and Light Mode, this means you can change the colour of text, backgrounds, buttons, borders, and more, all based on the users system settings.
By default when you set a colour it's set for Light Mode. To set an alternative colour for Dark mode, you need to press the Dark/Light Mode toggle button at the top of the editor.
The colour for your website background can be set for both Light and Dark mode in the Theme Studio under Page. You can also override the colour on a per page basis by using the page inspector in the main editor.
If you don't want dark mode on your website, you can switch this off in the Project Settings. Please note, this will hide the UI option to toggle between dark and light mode, and only preview and export the light mode version of your website.
Elements requires macOS 13 Ventura or newer.
The demo mode in Elements lets you explore the full app and build up to three pages, giving you a feel for the design workflow and features. While export and publishing are disabled in the trial, everything else is fully functional, so you can see exactly how Elements works before committing.
When the download is complete double-click to unzip the file, then move Elements.app to your Applications Folder.
In order to run Elements you will need to meet the minimum requirements:
Requires macOS 13 Ventura or newer.
Apple Silicon or Intel based Mac.
Elements is built to work on all modern macs, so long as they meet the minimum requirements you'll be good to go.
The trial mode in Elements has the following limitations:
No publishing: You can’t upload or publish sites in trial mode.
No export: Exporting project files is disabled.
Maximum of 3 pages: You can only add up to three pages per project.
Should you have any questions about installation or registration you can post on the and someone from the team will get right back to you.
Manage the look and feel of your website
The Theme Studio in Elements gives you the power to customise every part of your website. You have complete freedom for you or your clients. Easily change colours, fonts and text styles, borders, shadows and so much more.
When designing and building your website always use the recommend Theme Defaults when possible.
When building your site, we recommend sticking to the core theme settings so your design stays consistent and easy to manage. It also ensure all Templates and Components should "just work" right out of the box to match the style of your website.
Colours: Use Brand, Accent, Surface, and Text. These are managed in the Theme Studio and ensure that components, templates, and layouts all work together seamlessly.
Defaults: For Border Width, Radius, and Shadows, stick with the built-in Default option. This keeps spacing and depth consistent across your site.
Typography: For text, use the predefined roles: Heading, Body, Code, and Quote. These are designed to work harmoniously and adjust automatically when you change your theme.
By using these theme roles instead of custom overrides, you’ll get a site that looks cohesive, is simple to rebrand, and stays compatible with future templates and components.
Globals give you the power to create reusable linked (and customisable) groups of components to maintain a consistent design language across your entire site.
You can reuse global template blocks across your site so you only need update the content in one place and have it automagically mirrored in all other instances of that global. For example, this can be very useful for global header and footer sections.
Templates are very similar to Globals, but there's one important difference: Templates are single use and not linked. Where's Globals remain linked and are perfect for making changes across your entire site, perfect for shared menus and footers. .
You can take Globals even further by overriding content and design aspects on an individual instance. You might have a banner that you want to use on every page of your site and you'd like the design to be consistent. You can use the override feature to customise the text and background image on each instance. You can even override the design settings on certain instances.
Once you learn how to use the power of globals you'll wonder how you ever built wesbites without them.
There are a number of ways to turn a group of Elements into a Global. Right-click an element in the Editor or Node Browser and select "Convert to Global".
To unlink a group of Elements on a page, right-click on the Global in the Node Browser and choose "Unlink from Global".
When working with Elements, you can nest different Globals within each other to create complex structures. However, it's important to note that you cannot nest the same Global within itself. This restriction is in place to prevent potential issues such as infinite loops, system errors, or a rip in the time-space continuum.
This is the fastest way to get started building your new website in Elements for macOS.
Ask questions and learn more about building websites from our vibrant Elements community. See you there?
Watch our weekly DevDiary videos to get an up-to-date look at what's going on on behind the scenes.
Learn how to build websites with our growing collection of video tutorials for Elements.
The Elements CMS is a simple, flexible, and fast way to manage website content using plain Markdown files.
The Elements API is a powerful templating language allowing everyone to build exciting new components.
Components are the raw building blocks for page design in Elements. Let's take a look at the different types of Components available.
Elements ships with a comprehensive range of Components that allow you to put together an entire website. They include everything from Headings, Images, Galleries, and layout tools, like Grid and Flex.
If you know a bit of HTML you can create your own custom Components for use in your projects. These can be anything from a simple html snippet to a fully blown Component using the Elements API, with custom UI controls. Learn more about Custom Components.
Custom Components can only be shared via projects, the code is open and visible to anyone with that project. They are perfect for creating bespoke solutions for your project(s), or getting familiar with the Elements API before you migrate to building components like those built into Elements.
Third-party developers can use the Elements API to create full-blown Components that are on a par with the built-in Components — Yes, we use exactly the same API that is available to all users.
Third-party components will be distributed via the RapidWeaver Elements Distribution Platform as Element Packs (.elementspack). These packs are shipped as highly optimized, encrypted bundles. The code cannot be modified or edited by users or third parties (exactly like the built-in Components).
Manage global font size
Syncing Projects Across Multiple Macs
If you want to work on your Elements project across multiple Macs, we recommend using iCloud Drive. It’s built into macOS, fast, and well-integrated with the system, making it the most reliable option for syncing your projects.
While some users have reported success using services like Google Drive, we’ve also seen cases where those services can cause sync issues or corrupt project files due to the way they handle file locking and syncing.
Make sure iCloud Drive is enabled on both Macs.
Store your .elements project file inside your iCloud Drive folder.
Wait for the project to finish syncing before opening it on another machine.
✅ iCloud Drive
❌ Google Drive
❌ Dropbox
Avoid opening the same project on both Macs at the same time. Always allow iCloud to finish syncing before making changes.
Step-by-step guide to building your first website in Elements.
Follow our step-by-step guide to building your first website in Elements.
If you're new to Elements, this 5-minute quick start guide will help you get started building your first page, fast! In the video, we'll show you how to build a page using Templates, and navigate a pre-built marketplace project.
While the following video doesn’t cover every feature available in Elements, it offers a clear, high-level overview of the app’s layout and workflow. You’ll get a feel for how to add components to a page, how the editing interface is organized, and how to start building a website.
Think of this video as a quick tour to help you get comfortable with the basics. Once you’ve watched it, you’ll be ready to dive deeper and explore all the powerful options Elements has to offer.
Elements has a large selection of free ready-made projects to choose from that are perfect for getting your website up and running quickly. Whether you want to launch something fast or learn by exploring how others have built their pages, these Projects are a great way to dive in and get inspired.
It’s always a good idea to prepare and optimize your media for the web before importing it, especially large files like videos, audio, and high-res images. Uncompressed or oversized files can quickly inflate your project size and slow things down, both in the app and for your site visitors.
In general, we'd recommend:
Compressing images using tools like Squash, TinyPNG or ImageOptim.
Optimizing videos for the web using formats like MP4 (H.264) and reducing resolution/bitrate where possible.
Hosting larger files externally (videos, audio, PDFs, etc.) and linking to them using URLs. That keeps your project lightweight and more manageable in the long run.
Elements works with almost any host, but if you’re still deciding on a hosting provider, and are looking for a company that knows Elements, then we recommend Chillidog Hosting. They are the official hosting partner of Realmac Software. Every aspect of Chillidog’s hosting is built to ensure absolute compatibility with Elements, the friendly support staff at Chillidog are all familiar with Elements.
Best of all, we have worked closely to ensure you can set up your publishing details inside of Elements with a single click from your Chillidog dashboard!
Use templates to build your website in minutes
Templates are groups of Components that have been put togther to create a design or layout. Once a template is dropped into your page you can customise it however you like and it won't affect the original.
The Core pack inside of Elements includes a selection of useful layouts for everyday web design, including menus, hero banners, layouts, forms, and more.
Globals are similar, but very different to Templates. Templates are single use and not linked. Where's Globals remain linked and are perfect for making changes across your entire site, perfect for shared menus and footers. Learn more about Globals here.
Templates are like blueprints: a quick way to drop in a ready-made layout or design made of Components.
As soon as you add a Template to your page, it becomes a standalone set of components, completely independent from the original template.
No matter how much (or how little) you customise it, it’s not linked to the original anymore.
Changing the original template (from a Template Pack) will not affect anything you’ve already added to your site.
You’re free to modify it as much or as little as you want, once the template is dropped into your site think of it as a copy, not a link!
Want content to stay in sync across pages? That’s where Globals come in!
Globals are like master elements: place them on multiple pages and update in one place—the change is mirrored everywhere. Perfect for headers, footers, banners, and other repeat content.
You can even override certain aspects of a Global on a single page if you want a little variation.
Templates can support many types of components, including:
Built-in Components
Third-party Components
Custom Components
Globals
Resources (as part of the components)
To create a Template, drag a collection of Components from the Editor or Node Browser into the Project Templates area.
You can right-click on a Template to re-name it, or create a new folder for organisation.
To build a Template Pack that is available in all projects and distributable on the Elements Store you'll need to create a new Dev Pack. This can be done from the Addons tab in the app Settings window.
You can learn more about creating Template Packs in the Elements Language section of the manual.
Website resources include anything from image files to PDFs and folders. All of your resources can be managed right inside RapidWeaver Elements.
All resources added to a project will be included when publishing or exporting your website.
Open the resources list in the left-hand sidebar, and drag and drop in files (and folders), from the Finder. The structure and naming of your files will be the same in-app and when it's exported to the finder.
The resources you add will be copied and stored inside your project.
Elements supports adding all files types (including Folders) to the resources browser. However, some file types have extra support.
Images - png, svg, jpg, etc.
Fonts - WOFF, WOFF2, TTF
YouTube URL - Single video's and playlists
Vimeo URL - Single video's and playlists
If you see a warning triangle for your resource instead of a thumbnail it means Elements can't generate a thumbnail for that file. This can happen for a variety of reasons, the most common being the resource is not in the correct format.
Even if Elements can't generate a thumbail for the file, it will still export it when published.
When Publishing, Elements will lowercase all resource filenames and ensure they are websafe by swapping out foreign characters and spaces with an underscore. For example:
my~file.png
would become my_file.png
.
my file has spaces.png
would become my_file_has_spaces.png
.
myFile.png
would become myfile.png
.
Many web servers (Linux/Unix based) treat File.jpg and file.jpg as two different files. However, on Windows or macOS (i.e. Elements), the filesystem often isn’t case-sensitive, so it looks fine locally, but when uploaded, it can cause broken links and 404 errors.
By using lowercase files, you’ll ensure they will ALWAYS work on different environments (Windows, Linux, macOS), this could be very important depending on the hosting platform you have chosen.
You can add YouTube or Vimeo videos by dragging and dropping the URL from your web browser to the Resources area in RapidWeaver Elements. A playlist URL can also be dropped into the resources area.
YouTube and Vimeo videos are not downloaded and store in Elements, the URL to video(s) is stored and saved.
Add your font files to the resources area in Elements, and use the media inspector to define a weight (and width if required) for each of the font files. These fonts work in conjunction with .
To inspect a file, the Resource Info panel needs to be visible. This panel (or window) can be left open while you browse through files in the Resources area.
Filename (All file types)
Caption (images)
Author (images)
Right-click in the Resources area and select the "New Folder" option from the contextual menu.
Right-click in the Resources area and select "Add Remote Resource" from the contextual menu.
You can add single or multiple remote url's at a time, just ensure each remote resource is on a new line.
Resources are always manually sorted. However, you can run a one-time sort action to quickly arrange them in a chosen order. To do this, right-click on a Folder in the Resources area and choose a Sort option from the contextual menu. The sort will be applied to the current items in that Folder, but any new items you add (or items you move) will not stay automatically sorted.
A-Z (Ascending)
Z-A (Descending)
Newest First
Oldest First
Sign-up for a free Elements Cloud Account
Every Elements Cloud account comes with 1GB of free cloud storage. An active license is required for continued use of Elements Cloud. You can sign-up in-app.
Elements Cloud gives every user an easy way to backup and share projects.
Below are instructions on for a free account, and .
An active subscription is required to use Elements Cloud.
You can sign-up (or sign-in) to your account in the Account Preferences within Elements. Simply enter your email address and click the "Send Sign-in Link" button. An account will be created for you, or you will be logged in (if you already have an account).
A link will be sent to the email address you entered, click this email link within 3 minutes to register or log in to your account.
Once logged in you can share your open project from the Cloud icon in the Elements Toolbar. You can always manage uploaded files and storage from the Account Preferecnes window.
Every Elements Cloud account comes with 1GB of free cloud storage. This is the perfect place to make backups and upload files for sharing.
Once you can share your open project from the Cloud icon in the Elements Toolbar.
To upload your project to Elements Cloud, just follow these steps:
Open your project in Elements.
Click the "Cloud" share button in the top-left corner.
Press the "Upload Project" button in the pop-over window.
Once it's finished uploading you'll be able to share the link to your project.
To generate a direct download link from an Elements App link, simply append the unique identifier from the original link to the elementsapp.cloud URL.
• Elements App Link:
• Direct Download Link:
A troubleshooting guide for Elements Cloud Issues.
Extend RapidWeaver by creating your very own custom Components
If you know a bit of HTML you can create your own custom Components for use in your projects. These can be anything from a simple html snippet to a fully blown Component with custom UI controls taking full advantage of the.
The possibilities of what you can create are endless. Learn more about using the .
One of the easiest ways get started using Custom Components is by adding a custom HTML snippet to your page.
Creating a Custom Component in Elements is the easiest and fastest way to get started with exploring the . Custom Components can eaily be migrated to distributable Element Pack at a later date.
No external code editor is required, you can build everything inside of RapidWeaver Elements.
Custom Components are stored in the project they were created in.
Custom Components have full access to the Elements Language (although they cannot include extra files like an external Element Pack can).
To ensure compatibility with Elements you should use Tailwind CSS classes when writing your Template HTML.
Custom Components can easily be converted into an encrypted component and shared or sold on the Elements Marketplace.
Next, open the Component Editor so we can view and edit the code. All changes made to the code update in realtime. Go ahead, change the text and watch the preview update.
The Component Editor is a panel so can be placed or added anywhere in the UI. Right-click an icon in the inspector to select it from the drop down menu.
Using the following tags enable editable areas with the page. No setup of configuration in the properties file is required.
Replace any text in the html template to make it editable within the page.
Here's a real world example of using the code to make the a heading editable.
You can also set a default value for an editable text areas, so that when your custom component is dropped into a page it will be populated with a defulat value. In the example below, it would be "Hello World!".
A dropzones is an area within an HTML template where existing component can be added.
Can also be written like this.
You can also add a title for the Dropzone, this will be shown in the Node Browser.
Using the above tags inside of Custom Components only scratch the surface of what's possible, you can also use the inside of your Custom Components.
If you're a developer you can take things even further by creating distributable (and sellable) Element Packs for RapidWeaver Elements.
Manage and modify breakpoints and container widths.
The Screens section in the allows you to configue the for your website. Watch the video below to learn more about this feature.
Manage the overall settings for your Website, this includes things like; site title, logo, favicons, template code, and publishing destinations.
Project Settings can be accessed by pressing the cog icon in the toolbar.
Setup your publishing destinations via a URL scheme
Magic publishing links provide a quick way to automatically configure a publishing destination within a Elements Project. Most of the settings can be configured, reducing user error and making setup a simple one click solution.
To create a magic link, use the elementsapp://
url scheme with createPublishingDestination
followed by query parameters for the settings.
Magic link format
Example link
Options The available options are as follows
method: SFTP, FTP, FTPS
server: IP address or url of server, including the port
path: Publishing path
username: Username
website: Website address of published content
Please note that Password is not supported for security reasons.
elementsapp://createPublishingDestination?[options]
elementsapp://createPublishingDestination?name=Chillidog%20Hosting&method=SFTP&server=123.123.123.123:8080&path=/my/cool/site&username=my-user-name&website=https://www.magic.com
Choose the perfect Elements license for your needs
With Elements’ flexible licensing options; Base, Plus, and Pro you can choose the plan that best fits you or your teams needs, whether you're a casual user, hobbyist, or professional web designer.
Each license includes:
Unlimited websites
Templates, Themes, and Components
1 year of free updates
Installation on up to 3 Macs simultaneously per user license
1GB of Cloud Storage for Projects (An active license is required)
Unlimited Support via Email and Forum
If your subscription expires, Elements can still be used, you just won't receive future updates until you resubscribe.
Every Elements license includes all you need to build the website you've always wanted, however, there are a few key differences highlighted in the table below.
Custom Components
3
Unlimited
Unlimited
Global Components
2
Unlimited
Unlimited
Cloud Storage
1GB
1GB
1GB
Remove Elements Branding
No
Yes
Yes
Resell Websites
-
-
Yes
Priority Support
-
-
Yes
License Type
Personal
Personal
Commercial
Price
$99/year
$149/year
$249/year
The Plus license is designed for users who need or want more than the Base license but don’t require the full commercial permissions of the Pro license.
The Base license for Elements only allows the creation of 3 custom components per project. Plus and Pro licenses can create an unlimited number of Custom Components per project.
The Base license for Elements only allows the creation of 2 global components per project. Plus and Pro licenses can create an unlimited number of Global Components per project.
The Base license for Elements will place a small floating badge in the corner of your website showing it was built with Elements. The branding is in place to subsidise the low cost of the license. Plus and Pro have no visible Elements branding.
An active Pro license is required for developing and selling websites to third-party clients.
With the Plus license, your sites are free from any Elements branding. This allows for a more professional and polished look, whether you’re building personal projects, websites for friends, or community sites.
Beyond branding, Plus also unlocks additional features, including unlimited globals and unlimited custom components, giving you more flexibility in designing and managing your websites. While this license allows for a wide range of non-commercial use, it does not permit selling websites to clients.
If you ever decide to take on paid web design work, upgrading to Pro ensures you have the proper license for commercial projects.
An active Pro license is required for those using Elements as a professional tool. It ensures that as a Pro user you have everything you need to meet the demands of client work, from the freedom to sell websites to the reliable support and advanced features required to excel in a competitive market.
The Pro license pricing reflects the added value, flexibility, and commercial rights that the Pro license provides compared to the Base license.
Resell Websites and Client Projects - An active Pro license is required for users to develop and sell websites to third-party clients, making it the ideal choice for freelancers, agencies, or anyone building websites as part of their business. With this license, users have the freedom to fully leverage Elements’ powerful tools and customizations to create and deliver high-quality websites for clients, turning Elements into a valuable asset for generating revenue.
The Base license is meant for personal projects or hobbyists, while the Pro license is designed for freelancers, agencies, and businesses who are making money from reselling websites.
Priority Support - The Pro license is specifically aimed at professionals working on client projects, where timely support is crucial. Elements’ priority support helps Pro users troubleshoot issues, get answers to complex questions, and keep projects moving forward without delay—making it a reliable tool for maintaining client satisfaction and meeting project deadlines.
If you have any further questions about licensing please email [email protected].
Elements and Accessibility
Designing with accessibility in mind ensures your website works for everyone, including people with visual, auditory, cognitive, and motor impairments. It’s not just good practice; in many regions, it’s also a legal requirement.
This chapter covers how to create accessible websites using Elements. We’ll walk through key principles, recommended techniques, and how Elements helps you meet common accessibility standards like WCAG 2.1 and the upcoming European Accessibility Act (EAA).
From using semantic HTML and alt text, to managing contrast and keyboard navigation, we’ll give you pointers on how to build sites that are inclusive, usable, and compliant, without compromising on design.
While not exhaustive, the following checklist covers the most important steps to help you build a more accessible website from the start:
Use proper heading levels (h1, h2, h3, etc.) in logical order
Structure content with semantic HTML (e.g. <nav>, <main>, <section>)
Ensure sufficient color contrast between text and background
Avoid using color as the only way to convey information
Use readable font sizes and line heights
Add meaningful alt text to all images
Provide captions or transcripts for videos and audio content where possible
Avoid autoplaying media with sound
Label all form inputs clearly and associate them with their controls
Ensure error messages are clear and accessible
Use responsive layouts that adapt to different screen sizes and zoom levels
Avoid fixed pixel sizes for text or important layout elements
Use accessibility checkers like WAVE, or Lighthouse (in Chrome DevTools) to audit your pages
Test with keyboard-only navigation
Try screen reader testing (VoiceOver on macOS is a good starting point)
Aim for WCAG 2.1 Level AA compliance
If you sell products or services in the EU, ensure you comply with the European Accessibility Act (EAA).
A sitemap provides search engines with a clear map of your website’s structure
Elements automatically generates a sitemap.xml file in the root of your website. By default, all new pages are included in the sitemap.
If you want to exclude a page, simply uncheck the Include in sitemap option in the Page Inspector.
Once you've exported or published your website you will find the sitemap.xml
file in the root folder of your website.
A sitemap provides search engines with a clear map of your website’s structure, and using one comes with several key benefits:
Sitemaps list all the important pages on your site, making it easier for search engines like Google to find and index them, especially if:
Your site is new and has few external links
Some pages are hard to discover through internal navigation alone
A well-maintained sitemap ensures that your most important content is noticed and crawled efficiently, which can improve how your site appears in search results.
You decide what gets included. Pages you don’t want indexed, like landing pages, test pages, or thank-you pages can be excluded.
Elements will not add Folders or the following file types to your sitemap.
md, markdown, txt, yaml, yml, toml, json, css, scss, sass, less, js, mjs, ts, jsx, tsx, map, log, lock, png, jpg, jpeg, gif, svg, webp, ico, xml, rss, atom, csv, pdf, zip
Self hosted audio playlist component
Create visual separation between sections of your website
The Divider component in Elements is a simple yet effective way to create visual separation between sections of your website. It helps to organize content, enhance readability, and improve the overall flow of your design.
Built for long form content
Content coming soon.
The Image Slider component lets you showcase multiple images in a sleek, swipeable carousel. It’s perfect for galleries, product shots, logos, or any images that benefits from a visual slideshow.
It works beautifully on all screen sizes, with touch and swipe support built in. Choose from simple controls like arrows and dots, or let it autoplay for a hands-off experience.
Whether you’re highlighting your work or telling a visual story, the Image Slider makes it look great.
Please carefully read and understand the following terms and conditions before using or subscribing to the RapidWeaver Elements Cloud Service. These Terms constitute a legally binding agreement between you, the "Subscriber" and Realmac Software the "Provider".
1. Service Overview elementsapp.cloud is a cloud storage service specifically designed for use with RapidWeaver Elements. By using this service, you agree to the terms outlined below.
2. Data Storage You can upload, store, and manage your RapidWeaver Element projects on elementsapp.cloud. We recommend regularly backing up your projects locally as we are not responsible for any data loss. Your data is stored securly on Amazon S3 servers.
3. Fair Usage Limits We ask that you use the service reasonably and within the typical range for RapidWeaver Element projects. If your usage significantly exceeds the average for your plan, we may contact you to discuss appropriate adjustments or offer a plan upgrade. In cases of extreme overuse, we may temporarily restrict your ability to upload new files until the issue is resolved.
4. Content Ownership You retain ownership of all projects and content you upload to elementsapp.cloud. By storing content on elementsapp.cloud, you grant us the right to view, store, display, and manage your files as necessary to provide the service and support.
5. Prohibited Activities You agree not to use elementsapp.cloud to store or share illegal content or engage in any activities that violate applicable laws or regulations.
6. Service Availability While we strive to keep elementsapp.cloud available at all times, we cannot guarantee uninterrupted service. We may perform maintenance that could temporarily affect access to the service.
7. Termination You may terminate your account at any time. We reserve the right to terminate or suspend your account if you violate any of these terms or for any other reason deemed necessary.
8. Changes to Terms We may update these terms from time to time. Your continued use of the service constitutes acceptance of the updated terms.
By using or subscribing to the RapidWeaver Elements Cloud Service, the Subscriber indicates their understanding and acceptance of these Terms and agrees to be bound by them. It is recommended to review these Terms periodically for any updates or changes.
Specify global spacing for your website
The operation could not be completed, Amplify…
ping amplify.aws
@text("heading")
<h1 class="text-lg text-gray-300 font-heading">@text("heading")</h1>
<p class="text-sm text-slate-300/70">Build the website of your dreams.</p>
@text("heading", default: "Hello World!")
@dropzone("extraItems")
@dropzone(name: "content")
@dropzone("zone-1", title: "Zone 1")
The Node Browser allows you to see and manage the entire structure of your page, this is esecially useful for intricate designs, and larger more complex pages.
To filter down to specific Components you can use the search field, located at the bottom of the Node Browser.
The Node Browser has the following options when right-clicking on a Component in the Node Browser.
Rename
Edit the title of the selected Component.
Duplicate
Duplicate a single component and/or all sub components.
Duplicate without Content
Will duplicate the selected Component without any of the Child components.
Convert to Global
Convert the current selection into a .
Unlink from Global
Unlink the current selection into a .
Select Similar
Will select all matching Components in the Node Browser.
View Help…
Opens the default System browser with the Help page for the selected Component.
Remove
Deletes the currently selected Component.
As well as drag and drop, you can also use Keyboard Shortcuts to move Elements in the Node tree. Watch the video below to learn more about this advanced feature:
The following is a list of keyboard shortcuts for moving nodes within the Node Browser and Editor.
Select Previous Sibling
Option+Up arrow
Select Next Sibling
Option+Down arrow
Select Parent
Option+Up arrow
Select Child
Option+Down arrow
Move Up
Options+Command+Up arrow
Move Down
Options+Command+Up arrow
Move to Parent
Options+Command+Left arrow
Move to Child
Options+Command+Right arrow
Import your RapidWeaver Classic Project into Elements
The Classic Project Importer is an experimental feature. It can bring over the page structure and settings from your Classic project, but content import is less reliable because many page types cannot be mapped directly to Elements components.
This is an experimental feature, please read the full document before importing a project.
Keep in mind this tool is designed to help you move content across, not to recreate your site’s design. You will need to rebuild the layout and styling using Elements components. Think of it as a way to save time copying text, images, and page structures rather than a one-click migration.
If you’re planning a move from Classic, we strongly recommend reading the rest of the documentation to understand how Elements works, what can be imported, and what you’ll need to redesign.
Watch the video's below to learn more about importing Classic Projects to Elements.
To import a RapidWeaver Classic Project, launch Elements and choose File > [Beta] Import Classic Project…
from the menu.
Elements will import all important site information including:
All Pages (file name, browser title, page name, folder names, etc)
Page level scripts
Meta information
SEO Information
Robot tags
Site Settings (Name, site URL, and logo)
Fav Icons
Resources (Including Stack page resources)
Publishing Destinations
The text content from Styled Text Pages will be placed into a Typography Component, and any images placed into Image Components.
These pages will be converted into code pages.
Elements will import photos from each Photo Album page and place them into a folder in the resources area, along with creating a page with a Photo gallery component.
Elements will import Stack pages, and will do it's best to preserve the content from popular stacks and frameworks. However, please remember the importer is for importing content, it will not style any of the imported content or page.
The Classic Project Importer does not yet read Partials. To work around this, you may want to unpack any partials and save a copy of your Classic project before you import it into Elements.
In Elements we use Globals instead, these are a highly modern and customisable way to include global content throughtout your website.
Elements will import all Stack Page Resources, it will then optimise the resources by de-duping files to ensure your Elements project and new site is smaller and faster!
Elements currently imports the raw text and image content from a pre-determined list stacks, they are imported with minimal properties (i.e. no colours, or links, etc…).
Elements will attempt to import content from the following stacks. Unknown stacks will be converted into named Containers.
Text > Text
Markdown > Text
HTML > Text
Header > Text
Quote > Text
Image & Site Image > Image
Button > Button
Column stacks will be converted into the Grid Component and use the corresponding number of columns.
Button > Button
Container > Container
Vertical Center > Container
Header > Text
Header Plus > Text
Paragraph > Typography
Grid Content > Grid
Image > Image
Banner > Container
Margins > Container
Container > Container
Columns Grid
Col > Container
Header > Text
Paragraph > Typography
Image > Image
Container > Container
Column stacks > Grid
Grid stacks > Grid
Header > Text
Header Pro > Text
Text > Text
Quote > Text
Label > Text
Code > Text
Picture > Image
Set the default properties for all pages.
The Page settings allow you to set a default Page background colour for your website. By default, the Theme background colour will be used, but you can override this with the controls provided.
Manage your websites global colour palette
The colour settings allow you to manage a global colour palette for your website. You can add additional colours, and override theme defaults. The colours specified in the Theme Studio can be chosen in a component. This can be anything from a font colour to a background gradient.
When building your site, we recommend sticking to the core theme colours: Brand, Accent, Surface, and Text. These colours are designed to work together across all components and templates. By using them consistently, you gain a few key benefits:
Global control: Update your colour palette in the Theme Studio once, and the changes flow throughout your entire site. You don’t need to hunt down individual elements to update their styles.
Consistency: Components, layouts, and templates are all built with these theme colours in mind. That means your site will look balanced and professional without you needing to fine-tune every detail.
Flexibility: If you decide to refresh your design later, simply adjust your theme colours. The update will apply instantly, making it quick to rebrand or experiment with new looks.
Compatibility: When you add new templates or components, they’ll automatically inherit your theme colours, so everything feels cohesive from the start.
For best results, avoid using custom colours. Instead, use Brand, Accent, Surface, and Text where possible. This way, your design remains easy to manage, flexible to update, and consistent across the entire project.
Brand
Use this as your primary identity colour. It’s often the colour from your logo or the one most associated with your brand. Common uses include buttons, navigation highlights, and key interactive elements.
Accent
This is your secondary highlight colour. It’s best used sparingly to draw attention or provide contrast. Examples include links, badges, icons, or subtle hover states.
Surface
The foundation of your design. Surface colours are used for backgrounds, cards, panels, and containers. They provide structure and help separate sections of your site. Surfaces often have light and dark variants for depth.
Text
Reserved for all typography, from body copy to headings. Text colours should maintain strong contrast against your surface colours for readability. The Theme Studio manages light and dark variations automatically.
The Advanced section lets you fine-tune your project’s output and local preview behavior. These options are entirely optional, but great if you want a bit more control.
Generate Search Engine Sitemap
Automatically creates a sitemap.xml file to help search engines index your site.
Consolidate CSS Files
Combines your project’s CSS into fewer files to help reduce page load time.
Generate Cache-Busting Links
Appends unique version strings to assets (like CSS and JS) to ensure browsers always load the latest version.
Minify CSS and Javascript
Strips unnecessary whitespace and comments to shrink file sizes and improve performance.
Anonymize Requests to Third-Party Servers
Helps protect your privacy by removing identifiable info from external requests (like Google Fonts or embedded media).
Sets the file extension used for new pages, typically html, but you can change this to php or others if needed.
Configure the local web server used by Elements when previewing your site:
Auto: Automatically chooses an available port.
Restart Web Server: Use this if the preview server isn’t running correctly.
Automatically start web server on document open: Handy if you want preview to be ready as soon as you open a project.
Export your project locally or online
When you’re ready to publish your website, you'll need to go to your Site Settings and select the "publishing" tab in the sidebar to set up a publishing destination.
Elements can publish to the following locations and services:
Local (to your Mac)
FTP
SFTP / FTPS
Amazon S3
Publishing your site is an exciting moment: you’ll be able to enter a website address into Safari and see the fruits of your work.
Depending on who your hosting provider is, you may need to tweak a few options in Elements before you publish your website. This is entirely normal and is simply due to web hosts having different requirements when publishing your site.
Most importantly, you’ll need to remember that the details you enter into Elements are supplied by your hosting provider, not Realmac Software. Many hosting providers will require you to use publishing details that differ from any details you may use to access their control panel in a web browser. While this may be frustrating, it’s designed to keep your private information safe. If you are at all unsure about what to enter into Elements, drop your hosting provider an email, and they’ll be able to advise you.
Elements works with almost any host, but if you’re still deciding on a hosting provider, and are looking for a company that knows Elements, then we recommend Chillidog Hosting. They are the official hosting partner of Realmac Software. Every aspect of Chillidog’s hosting is built to ensure absolute compatibility with Elements, the friendly support staff at Chillidog are all familiar with Elements.
If you're having issues publishing your website, please follow our in-depth guide to fixing publishing issues, if followed carefully, we often find it fixes 99% of publising issues!
Learn once, use everywhere.
While each component has a set of unique controls, we've designed them so many of the components also share a set of common controls.
For beginners or users new to Elements, shared or common controls reduce the learning curve significantly. Instead of needing to master a different set of controls for each component, they can focus on understanding a core set of common settings that apply across the board.
By learning these shared controls, you only need to understand how to use a specific set of controls once, which can then be applied across various components. With common controls across multiple components, making changes becomes faster. You'll be able adjust the same properties (like padding, margin, colors, effects, or typography) across different components without having to search for or relearn where those settings are.
A fundamental user interface element in web design
Buttons are fundamental user interface elements in web design that enable users to interact with your website. They serve as clickable elements that trigger actions, such as navigating to a new page, or triggering a specific function, like showing a modal window.
Buttons help provide a clear call to action on your website.
The Advanced section provides options for users who want finer control over styling or need to link directly to sections. These settings are ideal for developers and advanced users comfortable with custom CSS or Tailwind utilities.
Add one or more Tailwind CSS classes to the Gallery component for custom styling.
This allows you to extend or override default styles without editing your theme or component code.
Example:
rounded-lg shadow-lg bg-gray-100
You can use any valid Tailwind utility class to adjust spacing, colors, borders, or animations.
This text field is useful for applying a custom name to a component. For example:
about-section
The ID name of the component will then appear in the Link window enabling you to easily create Anchors, watch the video below to learn more about how to use this feature.
Create responsive and dynamic layouts using Flexbox CSS
The Flex Element is based on the Flexbox CSS module that provides a flexible way to distribute space among items within a container. It is designed for one-dimensional layouts, such as arranging elements in a single row or column. With Flexbox, you can easily create responsive and dynamic layouts that adapt to different screen sizes and orientations.
Organize content into collapsible sections
The Accordion component lets you organise content into collapsible sections. It’s a great way to keep pages clean and easy to navigate, especially when you’re dealing with lots of information. Visitors can click on a section heading to reveal more details, making it perfect for FAQs, service listings, feature breakdowns, and more.
Accordions help improve page flow, reduce scrolling, and enhance the overall user experience, particularly on mobile devices where space is limited. With Elements, creating and customising an Accordion is simple, giving you full control over the layout, grouping, and style.
You’ll find the Accordion component under the Interactive section in the Components list. Each Accordion Item has two separate drop zones: one for the Title and one for the Content. You can add text, images, or other components into these areas to build rich, interactive sections.
If you group multiple Accordions together, you can enable a setting that allows only one Accordion to be open at a time — perfect for keeping your layouts clean and focused.
The Dropdown component lets you reveal a list of links, actions, or custom content when a user clicks or hovers on a trigger — perfect for navigation menus, or simple tool menus.
It’s fully flexible and works great on both desktop and mobile. You choose what goes inside: text links, buttons, even other components. The dropdown opens smoothly and stays neatly tucked away when not in use, keeping your layout clean and uncluttered.
Use it anywhere you need compact, contextual access to more options.
All the information you need to help you review or promote Elements
If you're reviewing Elements for a publication you'll find all the information you need below.
If you have any questions please email [email protected]
A collection of links to useful resources:
A collection of useful links:
Elements Community Forum
YouTube Channel
Elements Video Tutorials
Elements User Guide
Elements API Docs
Elements CMS Docs
Trigger a modal window to appear above your website content
Modals are a great way to display additional content without taking visitors away from the current page. They’re perfect for things like forms, galleries, announcements, or anything that needs a little more focus.
In Elements, modals are easy to set up and fully customisable, you can trigger them from buttons, links, or other interactive components. When opened, the modal appears above your content with a subtle background overlay, helping draw attention to what matters.
Whether you’re collecting signups or showcasing a product feature, the Modal component gives you a clean, accessible way to do it.
The Modal Close component is used to close an open modal, simple as that!
It can be added anywhere inside your modal content, and is most commonly used as a button or icon in the top-right corner. You can fully style it to match your design, and even add multiple close buttons if needed (handy for “Cancel” actions at the bottom of a form, for example).
When clicked, it seamlessly hides the modal and returns the user to the main content, no extra setup required.
Elements supports the following Favicons:
iPhone Retina
iPad Retina
iPad
Safari Pinned Tab (SVG, plus colour)
Classic Favicon (64, 32, and 16)
The topic of favicons has proven to be more exhaustive than anyone could have ever wished. The following article shows how to support just the essentials (and keep yourself sane) while doing it.
Learn more about how the Elements design system works.
Before diving into building your first site, it helps to understand the core concepts that make up Elements. These ideas form the foundation of how the app works and give you a shared language when reading this manual.
You’ll learn about Projects, , , , and , what each one does, how they fit together, and why they matter. Once you’re familiar with these terms, you’ll be able to navigate Elements more confidently and build sites that are consistent, flexible, and easy to maintain.
Elements uses a consistent design system to keep everything predictable and easy to work with. Whether you’re building a single landing page or a large multi-page site, the same set of terms and tools apply throughout the app.
This section introduces the key concepts you’ll come across: Projects, Templates, Themes, Components, and Globals. Each plays a specific role in how your site is structured, styled, and maintained. Once you understand the difference, you’ll be able to work faster and keep your designs consistent.
A Project is your entire website bundled into one file. It can include multiple pages and all the assets needed for a site. Projects are a great way to kick-start a new build, as they provide a complete setup rather than just a single page layout.
Themes control the overall look and feel of your site. Fonts, colors, and general styling are all defined here. Switching themes can instantly give your site a completely new appearance, while your content stays the same.
The core Components inside elements represent the basic building blocks of a webpage; they are at the foundation of your page design. They include things like containers, grids, headings, text, and buttons. They are singular items, like Lego bricks.
Some of the more advanced components go beyond the basics; these include things like menus and galleries.
are groups of Components that have been put togther to create a design or layout. Once a template is dropped into your page you can customise it however you like and it won't affect the original.
The core pack inside of Elements includes a selection of useful layouts for everyday web design, including menus, hero banners, layouts, forms, and more.
You can learn more about .
(or Globals as they are often called) are user created groups of components. Globals can help maintain a consistent design language across your entire site.
You can reuse global blocks across your site so you only need to update the content in one place and have it automagically mirrored to all other instances of that global. For example, this can be very useful for header and footer sections.
You can take Globals even further by overriding content and design aspects on an individual instance. For example, you might have a banner that you want to use on every page of your site, and you'd like the design to be consistent. You can use the override feature to customise the text and background image on each instance. You can even override the design settings on individual instances.
You can .
Use Projects when you want a full website starter.
Use Themes when you want to change the overall design style.
Use Components as the reusable building blocks of your pages.
Use Templates when you want a pre-built sections.
Use Globals to control site-wide, linked components or layouts (perfect for Navigation and Footer)
Elements takes a mobile-first design approach. Mobile has now surpassed desktop in global internet usage. Google has switched to mobile-first indexing. That’s why Elements takes a mobile-first approach to website design to ensure your sites work better and rank higher in search results.
While it may feel more natural to some designers to start from a larger, desktop layout and scale downward, CSS doesn’t support a true “desktop-first” cascade. There’s no native way to define base styles at the largest breakpoint and then override them on smaller screens without introducing redundancy or conflicts in your code.
Mobile-first design ensures your site is accessible, performant, and adaptable on all devices, starting from the smallest screen up. Once you get comfortable with this approach, it often leads to cleaner, more maintainable layouts.
We recommend designing at the mobile breakpoint first, and working your way up through the breakpoints to support larger screens.
Elements is built upon the popular , along with , which makes it a piece of cake to build modern responsive websites. By standardising on the framework used inside Elements, we ensure third-party components work great with every website you build.
Elements builds a custom version of Tailwind CSS in real-time.
As you add, remove, or modify any components and content in your project, Elements generates the required CSS, and only the required CSS. Elements does not load Tailwind from a CDN. Doing so would have severely limited what we are able to do from a design and theming perspective.
To reiterate, all CSS generation happens in real-time as you edit your project. It’s truly amazing once you start working with it.
This setup ensures that Elements produces the smallest amount of CSS possible, as it only generates the CSS you are actually using in your project.
The way Elements generates CSS for you means there is no need for each developer to write and ship the same CSS over and over again. Elements offers you a modern, reliable, flexible design system that both developers and end users can utilize.
The design system in Elements allows the app, third-party developers, and end users to all create code, components, and content separately but still maintain consistency from a design/theming perspective.
Setup fonts for use in your website
Choose between font name, font resources, and Google fonts.
Webfonts were great when most computers only had a handful of good fonts pre-installed. Thanks to font creation and buying by Apple, Microsoft, Google, and other folks, most computers have good—no, great—fonts installed, and they're a great option if you want to not load a separate font.
Learn more about what fonts are supported by popular operating systems on the following sites:
Elements includes a built-in Font Manager that lets you add your own local web fonts. It supports common formats like .woff, .woff2, and .ttf, making it easy to use custom typography in your designs.
For best browser support and performance, custom fonts should be provided in WOFF2 format. WOFF (the Web Open Font Format) is a web font format developed by Mozilla, Type Supply, LettError, and other organizations.
WOFF2 – Most modern and efficient format (used by all modern browsers).
WOFF - Good option when also supporting older browsers.
TTF - Mostly for legacy or specific use cases (not recommended for production due to larger size and weaker compression).
Add your font files to the resources area in Elements, use the media inspector to define a weight (and width if required) for each of the font files.
Add a new Custom Font in the Theme Studio, give it a name, and set the Kind to "Font Resources"
Next, drag each font file individually from the resources area of your website into the theme studio window.
How to add a robots.txt file to your Elewments Project
A robots.txt file tells search engine crawlers which parts of your website they can or can’t access. It sits at the root of your domain (e.g. https://example.com/robots.txt).
Right-click in the Page List area of your project window and choose New File.
A new file named untitled.html will appear — rename it to robots.txt.
Double-click the file to edit its contents, and add any robots.txt directives you need.
This file will be published to the root of your website, making it accessible to search engines at https://yourdomain.com/robots.txt.
You can use this on your own site, just don’t forget to change the domain name to ensure you're pointing to your own sitemap.
Link to a page, resource or website.
The link property allows you to link to a page, resource or extrenal website. Elements will keep track and update all internally linked pages and resources.
You can envoke the link panel on most components and inline text areas. Add a link click the "Choose Link…" button in the inspector. To clear a link click the "x" icon to the right hand side of the link button.
Element websites are configured to smooth scroll when navigating to an anchor. Smooth scroll can be disabled by removing the class="scroll-smooth" on the html tag in the site Template code.
Custom attributes in an link (anchor tag) provide additional information about how the link behaves, where it directs, and how it interacts with other elements or the browser. Here's a selection of example custom attributes.
You first need to add an ID to the component that will serve as your anchor. The ID can be found in the Advanced section in the settings for the selected component.
Then where you want to create your link in the text. Select the text, which will display the inline text
Click the LINK button in the inline text editor to open the link dialog.
If your anchor is on the same page, choose the page from the dropdown next to the link field.
This will display all available anchors in the Anchor popup.
Select the desired anchor, and you're done.
Create fixed or angled backgrounds
The Background component lets you easily add color, gradients, or images behind your content, helping you create visually rich and layered designs. Whether you’re highlighting a section, creating contrast, or simply enhancing the overall look of your page, the Background component gives you full control over the style and appearance.
You can choose a simple color, apply a background image, or even create angled backgrounds for dynamic effects. Fine-tune the opacity, fixed positioning, and layering options to craft exactly the look you want.
You’ll find the Background component under the Layout section in the Components list. It includes a single drop zone where you can add the content you want to sit above the background — like text, images, or other components.
You can choose a solid color, add an image, or enable angled backgrounds for more dynamic designs. If needed, you can also fix the background in place for a parallax scrolling effect. Adjust the color, opacity, and style settings to match your site’s design perfectly.
While you can use a Container to group and layout content with padding, width control, and background color, the Background component is designed specifically for more advanced visual effects.
Unlike a Container, the Background component gives you the ability to add fixed background images (for a parallax-style scrolling effect) and angled edges to create dynamic section transitions. If you need a background that moves independently from your content or you want to add stylish slanted dividers, the Background component is the better choice.
Use a Container when you need flexibility for simple layouts, but choose a Background when you want to add extra visual flair to your designs.
Adding Analytics code to your website.
If you’d like to track traffic or integrate services like Google Analytics or Google Tag Manager, you’ll need to add their code snippets to your project. Where you add the code depends on whether you want it to apply to all pages or just one.
We recommend using , it's much easier to understand and use compared to Google Analytics. Fathom is GDPR compliant and doesn’t require cookie notices.
To include your tracking code on every page of your site:
Open the Site Settings window.
Select the Template section.
Paste your code into either:
Between the <head>
tags for anything that belongs in the <head>, such as Google Analytics or similar.
Between the after the opening <body>
tag for things like Google Tag Manager’s <noscript> block.
This ensures your tracking code is included automatically across every page.
If you only want to add tracking code to a specific page:
Select the page in the sidebar.
Click the Edit Extra Code button in the page Inspector
Choose the correct code area from the list on the left (e.g. Head Start, Body Start).
Paste your code snippet in the appropriate section.
The code will only be included on that specific page when you publish or preview your site.
RapidWeaver Elements Branding Artwork
In Elements, borders are easy to add, customize, and control, allowing you to create clean and consistent boundaries around components with minimal effort. Elements provides a range of options for setting border width, border color, border style, and even border radius (for rounded corners). This flexibility makes it simple to define borders that suit your design, from subtle outlines to bold accents.
Specify if the component has effects enabled or disabled. The Hover effect works in conjuction with .
The Style control allows you to choose between three distict border styles, solid, dashed, and dotted.
Define a colour and oppacity for the border. Colour swatches are defined in the Theme Studio.
The Width property controls the thickness of the border. Width can be set for all four sides of an element—top, right, bottom, and left—or individually for each side. A custom pixel value can also be set.
The Radius property controls the roundness of the border. Radius can be set for all four sides of an element—top, right, bottom, and left—or individually for each side. A custom pixel value can also be set.
Add Images to your webpage
The Image component in Elements allows you to easily add and display images (in JPG or PNG formats) on your website. This versatile component supports a wide range of customization options, making it ideal for showcasing visuals in a clean, responsive, and accessible way.
JPG
PNG
The Image Component does not support SVG's, instead you should use the .
A simple Lightbox feature can be enabled under the Lightbox setting in the Image Component.
Basic image protection can be applied using the Image Protection option under the Image properties.
It’s a common request: protect images on a website from being downloaded or copied. While blocking right-click can deter casual users, it’s important to understand that it doesn’t truly secure your images. Web browsers inherently download all page assets—including images—so they can display them. This means anyone with basic knowledge of developer tools or access to the browser’s cache can still retrieve your images.
Instead of relying on “image protection,” consider watermarking your images or ensuring they’re resized and optimized for the web. This approach makes them less valuable for unauthorized use while still serving their purpose on your site.
A quick and flexible way to apply common visual effects
Filters allow you to apply various visual effects to elements, such as blurring, adjusting brightness, or adding drop shadows. These filters are applied via the filter settings on most elements and enable quick visual enhancements.
Specify if the component has effects enabled or disabled. The Hover effect works in conjuction with .
Blur - Applies a blur to the contents of the object. Vvalue is set in pixels.
Brightness - Darken or lighten the image, value is set in percent, 100 is the default value.
Sturate - Asjust the colour saturation, 0 is greyscale, 100 is the default.
Drop Shadow - Apply a drop shadow from the theme studio.
Blur - Applies a blur effect to the content behind the element, rather than the element itself. It creates a frosted glass-like effect, which is commonly used in modern web design to maintain focus on the content in the foreground while still giving a glimpse of what’s behind. To see this effect, ensure your component has a completely transparent background or semi-transparent background colour.
The Container Element serves as a wrapper or holder for other elements. It is commonly used to group and organise related content. The Container Element can be used to apply spacing or create space around elements.
The Margin allows you to set the margin on all sides of the container. You can adjust the left and right margins to set the spacing as follows:
Align Center, set the let and right margin to "Auto"
Align Left, set the left and right margin to "0"
Align Right, set the left margin to "0" and the right margin to "auto"
Apply padding independently to each side of the element.
Visually show and hide the element. Please note the element will still be visible in the html, but not visible on the page.
Add custom (and Tailwind) classes directly to this element. For example, we can apply a blur to everything within the container by writing blur-sm
into the CSS Classes field. See the for available classes.
You can browse all the available Tailwind classes over in the .
Clip content that overflows this Element.
Elements is a native macOS application built using Objective-C and Swift, it also uses the following Frameworks:
, utility-first CSS framework for rapidly building modern websites.
(Business License), industry standard JavaScript animation library.
, a modern, lightweight, JavaScript framework.
, completely customisable framework for building rich text editors.
, that helps quickly write simple yet powerful web applications and APIs.
, popular email sending library for PHP.
, framework for converting minimally marked-up plain text.
, an open-source code editor framework from Microsoft.
, update framework for macOS applications.
, we include a subset of within Elements.
RapidWeaver Elements Icons
Feel free to use the provided icons to help promote Elements in blogs, articles, or to your clients, customers, and friends.
The main app icon for , designed by .
The single Component icon is not currently used within Elements, but can be used for marketing purposes. Designed by .
The Element Pack icon is used for encrypted Element packs for distribution to customers via the Elements marketplace. Designed by .
The DevElement is used for unencrypted Element packs while they are in development. Designed by .
Automatically build and display your website navigation
Details comign soon.
The “Sticky” option under Layout > Position applies the CSS property position: sticky
. However, it might not behave as intuitively as expected.
Simply setting Position to “Sticky” won’t automatically make your navbar stick to the top of the page. Here’s how to achieve that effect:
Set Position to “Sticky”
Choose Type as “Individual”
Set Top to 0
Set Position to “Fixed”
Choose Type as “Individual”
Set Top to 0
Understanding the Difference: Sticky vs. Fixed
• Sticky Positioning: The element with position: sticky will stay in place only after it has been scrolled to a specific point (e.g., Top set to 0). It combines characteristics of relative and fixed positioning, meaning it will move along with the page until it reaches the set position, where it then “sticks.” However, it requires a defined space around it to work effectively, so if the element’s container is too small or constrained, sticky positioning may not work as expected.
• Fixed Positioning: The element with position: fixed is completely removed from the document flow and will stay at a set position on the screen, regardless of scrolling. It is always visible at the specified position (e.g., top of the page) and doesn’t depend on other elements or its container size. This option is often more predictable for elements like a navbar, as it maintains its position consistently.
In most cases, “Fixed” will likely give you the desired result for a navbar that remains at the top of the page. However, feel free to experiment with both options to see which best suits your layout.
Apply effects like rotate, scale, skew, and more.
Transforms in Elements allow you to manipulate the position, size, and orientation of components all without writing a line of code. Transforms are a powerful way to apply effects like rotating, scaling, translating (moving), and skewing elements, making it easy to add dynamic and interactive visual effects to your design.
You can also use transforms to create hover or focus effects that make elements feel more interactive and responsive.
Specify if the component has transforms enabled or disabled. The Hover effect works in conjuction with .
The component must be nested somewhere inside a component that has the custom ID applied, and the custom id class needs to be formatted with the group modifier, like so: group/parent-component-id
.
Origin - Set the origin of the transform.
Scale - Changes the size of an element by percent.
Rotate - Rotates an element by a specified degree, supports positive and negative values.
Translate - Moves an element along the X or Y axis, supports positive and negative values.
Skew - Skews an element along the X or Y axis, supports positive and negative values.
Link
Layout
Sizing
Spacing
Transitions
Effects
Filters
Transforms
Borders
Advanced
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
Dev Daiary 96
How to Import Classic Projects into Elements.
Dev Diary 97
Import Stacks, Foundry, and Foundation based Projects.
Stacks to Elements
Learn the key differences when migrating Projects.
Add a video to your website
The Video Element is a simple way to add a single video to your website.
You can add YouTube or Vimeo videos by dragging and dropping the URL from your web browser to the Resources area in RapidWeaver Elements.
The video component supports the following file types:
YouTube
Vimeo
.mp4
The Video component has a dropzone in the center of it to allow for custom play buttons, text, graphics, and more.
Resource: Drop a video file or video url from the Resources Browser into the dropwell.
Autoplay
Set when (or if) the video should play automatically. The following options are available: Immediately, When in Viewport, or Never.
Muted
Set the video to muted by default.
Controls
Hide or show the video player controls. This setting only works with .mp4 files.
Loop
Specify if the video should loop. This setting only works with .mp4 files.
Set a thumbnail image to be displayed before the video is played.
Mode
Supports the ability to specify an Image for Light & Dark Mode.
Image
Set an image to be displayed as the thumbnail before the video loads. This should be a jpg file.
Description
Sets an Alt tag on the image. Used for SEO and Accessibility.
Overlay
Overlay a colour onto the image, perfect for making dimming the image and makeing the play button "pop".
Powerful grid based layout system
The Grid Element is a powerful layout system based on CSS Grid that allows you to create complex two-dimensional grid-based layouts for web pages. It provides a precise way to position and align elements within a grid container, making it easier to design responsive and flexible layouts.
With the Grid Element, you can define rows and columns, control their sizes, and place items anywhere within the grid. You can also set the grid-gap for adding spacing between grid cells, you can even create nested grids.
When you first drag a Grid onto your page, you might notice that the columns aren’t immediately visible. That’s because the grid requires content to define its layout. To get started, drag and drop a Container into the grid. The container will occupy the number of columns you’ve set for the grid. As you add more containers, an insertion point will appear to the left or right of the existing container, guiding you on where the new content will fit. Drop the container, and you’ll see the grid automatically split into two columns. Repeat this process to populate the grid with as many columns as you’ve set up.
Once your containers are in the grid, you can adjust their behavior by changing their type to Grid Item. This setting allows you to control each item’s width. For example:
• If you’ve set your grid to 4 columns, you might set each grid item’s width to 1, which will evenly distribute the space across 4 columns.
• Alternatively, you can define the grid as having 12 columns and assign each grid item a width of 3. This approach is functionally identical but provides more granular control. While both methods work, many find the simpler “4 columns, 1 width per item” method easier to manage.
Grids can feel a bit tricky at first, but once you get the hang of it, they’re incredibly flexible and powerful.
URL
Link to an external website, a mailto link will automatically be created if an email address is entered.
Page
Link to a page within your project.
Anchor
Link to an Anchor on the page. Anchor ID's can be set in the Advanced settings on all built-in Components.
Resource
Link to a resource within your project.
title
Go to Example Website
Provides additional information about the link, usually displayed as a tooltip when the user hovers over the link.
rel
noreferrer
Ensures that no referrer information (the URL of the current page) is sent to the destination.
rel
nofollow
Tells search engines not to follow this link for SEO purposes.
type
application/pdf
Specifies the MIME type of the linked resource. This is typically used when linking to downloadable files or specific content types. This example is for a pdf document.
None
No effect classes will be applied to the component.
Static
Enable effects.
Hover
Enable Start and End state hover effects.
Solid
No effect classes will be applied to the component.
Dashed
Enable effects.
Dotted
Enable Start and End state hover effects.
None
No effect classes will be applied to the component.
Static
Enable effects.
Hover
Enable Start and End state hover effects.
None
No effect classes will be applied to the component.
Static
Enable effects.
Hover
Enable Start and End state hover effects.
Animate components when they enters the viewport
The “Reveal” animation component in Elements allows you to add visually engaging animations to your website. As elements come into view, they can “reveal” themselves with smooth, dynamic effects.
If your site appears to shift sideways or introduces unexpected horizontal scrolling on mobile (especially iPhone), the issue may be caused by a Reveal component pushing the layout beyond the viewport.
This often happens when an animation or hidden content expands outside the container, triggering a wider layout than expected.
Set the parent Container that wraps the Reveal component(s) to overflow-hidden. This will prevent the hidden/revealed content from extending beyond the bounds of the viewport.
How to do it in Elements:
Select the Container or Section that wraps the animated content.
In the Inspector, set Overflow to Hidden.
This tells the browser to clip any content that exceeds the container’s boundaries fixing the horizontal scroll issue on iOS.
Adjust animation curve, duration, and delay for transitions
The Transitions settings apply to the Filter, Effect, and Transform sections on the same Component. Transition settings contol the the timing, animation curve and delay when transitioning (or animating) an object between two states.
The Apply to dropdown allows you to specify the values of a component the transition will apply to. In most cases you'll want this set to "All".
All - Apply a transition to all values.
None - Don't apply a transtion (similar to seeing the duration value to 0).
Most Common - Applies transitions to color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter.
Colours - Only apply transition to colours.
Opacity - Only apply transition to the opacity.
Shadows - Only apply transition to the shadows.
Transforms - Only apply transition to the Transform values.
In CSS animations, the terms Linear, Ease In, Ease Out, and Ease-in-out refer to different types of timing functions that control the speed of an animation over time.
Custom - See Custom Timing Function (below)
Linear - The animation progresses at a constant speed from start to finish.
Ease In - The animation starts slowly and then speeds up as it progresses.
Ease Out - The animation starts quickly and then slows down as it finishes.
Ease-in-out - The animation starts slowly, speeds up, and then slows down again before finishing.
The x1, y1, x2, and y2 values used to create custom timing functions using a cubic-bezier() curve for animations.
The cubic-bezier curve essentially determines the rate of change over time of the animation. It allows you to create custom easing effects that can behave in ways that predefined ones like linear, ease-in, ease-out, or ease-in-out cannot.
x1, x2: Control the horizontal axis, which represents time. These values must be between 0 and 1, where 0 is the start of the animation and 1 is the end.
y1, y2: Control the vertical axis, which represents the progress of the animation (i.e., how far along the element is in its transformation or movement). These values can go below 0 or above 1 to create exaggerated effects.
The following animation starts very quickly, with almost no easing at the beginning, very fast through the middle section and ends abruptly. These values are the default values for the custom timing control.
0.95,0.05,0.795,0.035
The following animation accelerates towards the end point, overshoots the final position, and comes back to settle into its final state.
0.21,1,1,1.53
There are tools online like Cubic-Bezier.com that let you visually manipulate and experiment with the cubic-bezier function to create custom easing effects, where you can adjust the control points and immediately see the animation effect on a graph.
Set the duration for the transition animation in milliseconds, for example setting a value of 500, would result in the transition taking 0.5 seconds to complete. Setting the value to 1,000 would make the transition taking 1 second to complete.
Set the delay of the transition start in milliseconds, for example setting a value of 500, would result in a delay of 0.5 seconds before the animation will start. Setting the value to 1,000 would set a delay of 1 second before the animation starts.
Add Margin and Padding to Components.
The Spacing controls allow you to add Margin and Padding to an object. By default this control is disabled, this is to ensure the pading and margin classes are not applied to the object.
To set Padding and Margin you need to switch the "Enable" toggle to on.
The "Mask & Paintbrush" icon will toggle the control between selecting from a Theme Preset and setting an arbitrary value. To change the arbitrary value by 5px increments, click and drag the mouse up and down. To change the value by increments of 1px hold down the shift
key while dragging.
To link the opposite value, click the dashed line so the highlight is set to blue. This can be done independently for vertical and horizontal values.
The Margin property controls the space around an element, outside of its border. It creates space between the element and its neighboring elements.
Margins can be set for all four sides of an element—top, right, bottom, and left—or individually for each side.
The Padding property controls the space inside an element, between its content and the element’s border. Unlike margin, which affects the space outside an element, padding pushes the content inward, creating internal spacing within the element itself.
Padding can be set for all four sides of an element—top, right, bottom, and left—or individually for each side.
Display a list of your site’s top-level pages
The Top Pages component makes it easy to automatically display a list of your site’s main pages - perfect for building simple navigation menus, site maps, or quick-access sections.
By default, it shows all top-level pages, but you can also choose a specific folder to display just the subpages within it. This gives you flexibility to create menus or content blocks that update automatically as your site structure changes.
It’s a smart, no-fuss way to keep navigation in sync without having to manually update links.
Follow our guide on getting your issue resolved FAST!
If you run into a bug or something doesn’t seem to be working quite right in Elements, we’d love to hear about it. You can check out our for general support issues, but the best place to get support is on the , where our team and other users can offer help and advice!
Make sure to , your question or bug might already have been resolved.
We’ve seen quite a few posts on the where users are asking for help but not giving enough details for anyone to actually solve the problem.
To save everyone time, here’s the best way to :
Create a Clear Post Title Something like “Need help styling the navigation component” works much better than “Help. It’s broken!”.
Explain the Issue Tell us what you’re trying to do, what you expected, and what actually happened.
Share Your Project Add an so others can open your project and see what’s going on.
Share a Live URL (if applicable) If the site is published, include the link. Sometimes issues only show up on a live site.
Add Screenshots or Recordings A quick screenshot or short video can be a huge help.
Be Specific The more detail you include, the quicker you’ll get accurate help.
Follow the above guide, and you’ll not only get better answers, you’ll get them much faster.
Asking for without sharing the Elements Project or live URL is a bit like rolling up to a garage and saying, “My car’s making a funny noise, can you fix it?” but then not showing the mechanic the actually car.
Sure, they could take a wild guess. They might suggest topping up the oil, tightening a belt, or just turning the radio up so you can’t hear it anymore. But without looking under the bonnet, they’re working blind.
That’s exactly what it’s like when asking for website help without sharing the details. We don’t need the keys, but we do usually need to see the engine.
When , you should follow the guidelines below to help us locate and fix your issue much faster.
Tell us exactly what you were doing when the issue occurred. The more information you can provide, the better. Try to include:
What you expected to happen
What actually happened
Any error messages or unusual behavior you noticed
If you can reliably trigger the problem, let us know how. Write down the exact steps you took leading up to the issue. This is incredibly helpful when we’re trying to track down bugs.
Please upload your project to your Elements Cloud account and share the link with us on the forum.
This is one of the most reliable and fastest ways to get your issue fixed!
A video is often the quickest way to show what’s going wrong. You can use QuickTime Player.app (included with macOS) to record your screen.
To create a simple recording, choose File › New Screen Recording from the menu. Click the red record button, then follow the instructions on the screen. To save, choose File › Export and select the quality.
Alternatively, you can use the keyboard shortcut command-shift-5 to bring up the onscreen Screen Recording controls.
Once you’ve made the recording, upload it to a cloud service like Dropbox or Google Drive, or share it via YouTube, and .
If you can’t share a video, screenshots can still be very helpful. Try to capture the whole Elements window so we can see your workspace and any visible settings. A partial screenshot is not very helpful, we need to see the entire context.
Use the keyboard shortcut Command-Shift-3 to take a screenshot, or Command-Shift-4 to select just a portion of the screen.
Sometimes using custom HTML on your page can be the source of the problem. Even small mistakes like a missing closing tag, an extra quotation mark, or incorrect nesting can cause layout or publishing errors. Because Elements is built on clean, structured code, any invalid or broken HTML you add manually can disrupt how components render or how the browser interprets the page.
This is often one of the hardest issues to track down, because errors in custom HTML don’t always show up where you expect them. A broken tag in one part of the page might affect the layout or functionality of a completely different section.
If you’re experiencing issues, it’s worth reviewing any custom HTML you’ve added. A good step is to remove it temporarily and check if the issue goes away. That way you’ll know whether the custom code is the root cause or if you should look elsewhere.
If you see the "Document Repaired Warning Dialog" dialog when opening a project, Don't panic! This is nothing to be alarmed about. Your project(s) are safe.
When Elements detects any orphaned nodes (bits of content that no longer have a proper home), it moves them to the top of the page rather than deleting them outright. That way, nothing important ever gets lost by mistake.
These nodes can be safely removed using the built-in recovery option.
With the project open, select the Help > Recovery > Remove Recovered Nodes
option.
Then, select the File > Save As…
command to save your project as a new file.
Close the project and Quit Elements.
Re-launch Elements and open the newly saved (and repaired) project.
You can now continue working on your project, right where you left off.
We’re actively working on reducing the chances of these orphaned nodes appearing in the first place.
To reset Elements, remove the preferences file by following these steps.
For an automatica way to remove the Preferences you can do the following. Hold down the option key and go to Help > Clear Applications Preferences.
Set the Width and Height for elements.
The sizing option provides options for setting fixed widths, percentage-based widths, viewport-based widths, and even fractional widths to ensure flexibility and precision in responsive design.
The width setting offers a comprehensive range of options that make it easy to control the width of elements in your design.
The height setting offers a comprehensive range of options that make it easy to control the height of elements in your design.
In Elements the min-width and max-width settings provide control over the minimum and maximum width of elements, allowing you to set constraints on how wide an element can grow or shrink. These settings are especially useful for responsive design, as they help maintain readability and layout consistency across different screen sizes.
1. Content Readability: Setting maximum widths prevents text from stretching too wide, which enhances readability, especially on larger screens.
2. Responsive Design: Min and max-widths help maintain an adaptable layout by controlling how elements respond to different screen sizes.
3. Layout Constraints: Min-widths prevent elements from collapsing too small, while max-widths keep elements from overflowing their containers, ensuring a balanced and visually consistent design.
Use min-width and max-width settings when you need control over element sizes to ensure responsive, readable, and user-friendly layouts across various screen sizes.
A lot of Components support a “custom sizing” option for you to specify the exact size of an element, this can be things like width, height, and placement.
When adding a value into the custom size box, it’s useful to remember that anything native css supports, Elements supports! So values like vh, px, rem, %, and should all work as expected.
Here's some examples:
250px - Make the width (or hight) 250px wide.
calc(100vw-20px) - 100% viewport width - 20px.
100vw - 100% of the viewport width.
80vh - 80% of the viewport height.
Apply box shadows rollovers and more.
Easily enhance the visual appeal of elements in your website by applying effects like box shadow and opacity. These effects can help create depth, highlight key elements, and adjust the transparency of components, giving your site a modern, polished look.
Specify if the component has effects enabled or disabled. The Hover effect works in conjuction with .
If you set the Type
to Hover, you can specify which element should be hovered over to trigger the transition.
When using a Custom ID to trigger a transition, make sure the parent element has a class name in the format group/{customID}
.
If the parent element is a Container, Grid, or Flex component, you can simply enter the custom ID into the Advanced → ID field. Elements will automatically apply the correct class name for you.
However, if you’re using a different component—or have built a custom one—you’ll need to manually ensure the appropriate class name (group/{customID}
) is applied to that element.
Note: You do not need to include the group/ prefix when entering your ID. Just enter the raw ID in the ID field, and Elements will handle the rest.
Apply a box shadow to the Component.
Set an opacity for the component.
~/Library/Containers/com.realmacsoftware.rapidweaverelements/Data/Library/Preferences/com.realmacsoftware.rapidweaverelements.plist
Your Software Licence Agreement
Please carefully read and understand the following terms and conditions "Terms" before subscribing to RapidWeaver Elements. These Terms constitute a legally binding agreement between you, the "Subscriber" and Realmac Software the "Provider".
Subscription: You’re signing up for a monthly or annual plan.
Billing: Payments are taken automatically unless you cancel. We’ll send you a reminder 3 days before renewal.
Cancellation: You can cancel anytime. There are no refunds for unused time.
Updates: You’ll get all updates and new features while your subscription is active.
License: Your subscription gives you a personal, non-transferable license to use Elements.
No Resale: You can’t sell, transfer, or share your license with others.
Usage Rules: Don’t copy, hack, reverse-engineer, or misuse the software.
Account Security: You’re responsible for keeping your login details safe.
Privacy: We respect your data and handle it according to our privacy policy.
Legal: This agreement is governed by the laws of England and Wales.
1. Subscription Plan By subscribing to RapidWeaver Elements, the Subscriber acknowledges and agrees to enroll in a specific subscription plan, including associated fees.
2. Subscription Period The subscription period begins on the date of successful subscription and continues for the duration specified in the chosen subscription plan. Subscriptions may be on a monthly, annual, or other basis as specified.
3. Payment and Billing Subscriber agrees to pay all applicable fees associated with the subscribed plan. Payment details, including billing frequency and method, are provided during the subscription process. The Provider reserves the right to change subscription fees upon providing reasonable notice to the Subscriber.
4. Automatic Renewal A subscription renewal reminder will be sent 3 days before the next payment is taken. Unless auto-renewal is explicitly disabled by the Subscriber, the subscription will automatically renew at the end of each subscription period. The Subscriber's payment method will be charged for the renewal fee unless canceled by the Subscriber.
5. Cancellation Subscribers may cancel their subscription at any time. Subscription cancellations may be made through the account settings or by contacting the Realmac Software customer support.
6. Refunds All subscriptions are billed in advance and are non-refundable once the subscription period begins. However, if you experience technical issues preventing you from accessing the Software, please contact [email protected] and we’ll review refund requests on a case-by-case basis.
7. Software Updates and Enhancements Subscribers are entitled to receive updates, bug fixes, and enhancements to RapidWeaver Elements during the active subscription period.
8. License and Usage The subscription grants Subscriber a non-exclusive, non-transferable license to use RapidWeaver Elements solely for personal or business purposes in accordance with the license agreement. Subscriber shall not use, copy, modify, distribute, or exploit the software beyond the scope permitted by applicable law or Realmac Software's guidelines.
9. Data and Privacy Subscriber’s personal information is handled in accordance with Realmac Software’s Privacy Policy. By subscribing, the Subscriber consents to the collection and use of their personal data as described in that policy.
10. Termination The Provider reserves the right to terminate or suspend a subscription or access to RapidWeaver Elements Software in case of violation of these Terms, misconduct, or for any other reason deemed necessary by the Provider.
Subscribers will be notified if their access is suspended or terminated, unless doing so would violate the law or risk service integrity.
11. Disclaimer of Warranty RapidWeaver Elements is provided "as is" without any warranties or representations, expressed or implied. The Provider disclaims any warranty of merchantability, fitness for a particular purpose, or non-infringement.
This disclaimer also applies to any third-party content or add-ons made available through the Elements Marketplace.
12. Limitation of Liability Realmac Software shall not be liable for any direct, indirect, incidental, consequential, or exemplary damages arising out of or in connection with the use or inability to use RapidWeaver Elements or any other services provided, even if advised of the possibility of such damages.
13. Modification of Terms Realmac Software reserves the right to modify or update these Terms at any time. Subscribers will be notified of material changes to these Terms via email or through other means deemed appropriate by Realmac Software.
14. Non-Transferability and Resale The subscription and license granted under these Terms are personal to the Subscriber and are strictly non-transferable. The Subscriber may not sell, resell, transfer, assign, rent, lease, or otherwise provide access to RapidWeaver Elements to any third party. Any attempt to do so will be considered a violation of this Agreement and may result in immediate termination of the subscription without refund.
Sharing or reselling access credentials or licenses is strictly prohibited and may result in termination without refund.
15. Intellectual Property All rights, title, and interest in RapidWeaver Elements, including but not limited to software, trademarks, logos, content, and related intellectual property, remain the exclusive property of Realmac Software. No ownership rights are transferred to the Subscriber under this Agreement.
16. Restrictions on Use The Subscriber shall not attempt to reverse engineer, decompile, disassemble, modify, or create derivative works of RapidWeaver Elements. The Subscriber further agrees not to use the software for unlawful purposes or in a manner that could damage, disable, or impair the service.
The Subscriber shall not use the Software in any manner that violates applicable local, national, or international law.
17. Account Responsibility The Subscriber is responsible for maintaining the confidentiality of their account credentials and is liable for all activity that occurs under their account.
18. Governing Law and Jurisdiction This Agreement shall be governed by and construed in accordance with the laws of England and Wales. Any disputes arising under this Agreement shall be subject to the exclusive jurisdiction of the courts of England and Wales.
19. Force Majeure Realmac Software shall not be held liable for any failure or delay in performing its obligations due to circumstances beyond its reasonable control, including but not limited to natural disasters, acts of government, internet or telecommunications failures, or other force majeure events.
20. Entire Agreement and Severability This Agreement constitutes the entire understanding between Realmac Software and the Subscriber with respect to RapidWeaver Elements. If any provision of this Agreement is found to be invalid or unenforceable, the remaining provisions shall continue in full force and effect.
21. Marketplace and Third-Party Add-ons RapidWeaver Elements may provide access to third-party add-ons, templates, or components. These are developed and sold by independent creators. Realmac Software is not responsible for the content, functionality, or security of third-party add-ons. All purchases are processed through FastSpring and subject to the relevant seller’s own terms where applicable.
By subscribing to RapidWeaver Elements, Subscriber indicates their understanding and acceptance of these Terms and agrees to be bound by them. It is recommended to review these Terms periodically for any updates or changes.
Powerful Markdown based CMS
The Elements CMS is a complete CMS system. You can learn more about using it here.
Quick Add Component
Command-Shift-F
Next Workspace
Command+Option+.
Previous Workspace
Command+Option+,
Show/Hide Titles
Command+Option+'
Show/Hide Outlines
Command+shift+'
Show/Hide Selection
Command+'
Scroll to Selection
Command+Shift+Option+'
Toggle Editor Scroll
Select Previous Sibling
Option+Up arrow
Select Next Sibling
Option+Down arrow
Select Parent
Option+Up arrow
Select Child
Option+Down arrow
Move Up
Options+Command+Up arrow
Move Down
Options+Command+Up arrow
Move to Parent
Options+Command+Left arrow
Move to Child
Options+Command+Right arrow
Screens: Mobile
Command+1
Screens: SM
Command+2
Screens: MD
Command+3
Screens: LG
Command+4
Screens: XL
Command+5
Screens: 2XL
Command+6
Preview Page
Command+P
Automatically previews website in default browser.
Preview Page In…
Command+Option+P
Choose from all installed browsers on your system before Previewing.
Auto
No position properties are set on the element, the parent element and browser handles the width of the element.
Full
The element will take up the full width of the parent element.
Screen
The element will take up the full width of the viewport, e.g. 100vw (full viewport width).
Breakpoint
The element width will be to set to the Breakpoint classes setup in the Theme Studio.
Theme Spacing
Choose from the pre-defined size classes set in the Theme Studio. You can also override the pre-defined classes and use Custom CSS Values.
Auto
No position properties are set on the element, the parent element and browser handles the height of the element.
Full
The element will take up the full height of the parent element.
Screen
The element will take up the full hight of the viewport, e.g. 100vh (full viewport height).
Theme Spacing
Choose from the pre-defined size classes set in the Theme Studio. You can also override the pre-defined classes and use Custom CSS Values.
None
No effect classes will be applied to the component.
Static
Enable effects.
Hover
Enable Start and End state hover effects.
Self
this element.
Parent
the direct parent element.
Container
any parent Container element.
Grid
any parent Grid element.
Flex
any parent Flex element.
Custom ID
the parent with the specified custom ID*
Frequently Asked RapidWeaver Elements Questions
Welcome to the official FAQ for RapidWeaver Elements. This resource is designed to provide you with clear and concise answers to the most common questions.
Whether you’re just getting started or you’re an experienced user, our goal is to make sure you have all the information you need to build stunning websites with confidence.
If your question is not answered below, please post our Community Support Forum. We'll get back to you within 48 hours. Don't worry, it's usually within a few hours or even quicker!
All the essential SEO tools are built into Elements
Elements gives you full control over the essential SEO tools and metadata needed to help your site get discovered.
You can define semantic HTML tags for structural elements (such as <header>, <section>, <article>, and more), and set appropriate heading levels (<h1>, <h2>, <p>, etc.) for text content. Image alt text is fully supported, ensuring accessibility and better indexing by search engines.
Elements automatically generates an XML sitemap for your project, and includes a dedicated Metadata panel for setting per-page titles, descriptions, and common Open Graph tags for social sharing.
For advanced users, Elements also provides direct access to the raw HTML template—perfect for inserting custom SEO tags or scripts not available through the UI.
You can test the SEO performance of your website with the following tools:
Google Search Console – submit sitemaps, monitor indexing, and spot issues
Lighthouse – audit SEO basics from Chrome
Ahrefs Webmaster Tools – free tools for basic SEO analysis
The following is a list of items that will help your website rank better in search engines:
Setting Browser Titles
Add Meta Descriptions
Structuring URLs (so they are human readable)
Use the correct Header Tags
Creating Alt Text for Images
Using a Sitemap (Elements generates this automatically)
Image description is useful for users, search engines, and accessibility tools. It can be set for each image under the "Description" setting in the Image Component settings.
1. Improves Accessibility – Alt text helps visually impaired users who rely on screen readers understand the content of an image.
2. Boosts Image SEO – Search engines use alt text to understand and index images, helping them appear in Google Images search results.
3. Enhances Page Relevance – Properly written alt text with relevant keywords can reinforce the topic of your page, improving rankings.
4. Provides Context if Images Don’t Load – If an image fails to load, the alt text is displayed instead, ensuring users still get the intended information.
Elements offers a dedicated Metadata panel for setting per-page titles, descriptions, and common Open Graph tags for social sharing.
If you want to level-up your new Elements project for SEO, run through this checklist before you officially launch your new website:
Set advanced properties for Position, Z-index, Visibility, and more.
The Layout controls help you manage the overall layout and positioning of elements within a webpage. These controls include controls for handling display properties, positioning, z-index, overflow, visibility, and more.
General layout settings for Position, Z-index, and Inset.
The Position controls how an element is placed in the document and how it interacts with its surrounding elements. These utilities correspond to standard CSS positioning properties like static, relative, absolute, fixed, and sticky. See Tailwind CSS Position for more details.
None
No position properties are set on the container.
Static
The element is positioned according to the normal document flow.
Relative
The element is positioned relative to its normal position in the document. You can adjust its position using top, right, bottom, or left properties. The space it originally occupied remains reserved.
Absolute
The element is positioned relative to its nearest positioned ancestor (an ancestor that has relative, absolute, or fixed positioning). If no such ancestor exists, the element is positioned relative to the initial containing block (usually the viewport). It is removed from the normal document flow, meaning it does not affect the layout of other elements.
Fixed
The element is positioned relative to the viewport, meaning it stays in the same position even when the page is scrolled. Like absolute, it is removed from the document flow and does not affect the positioning of other elements.
Sticky
The element is positioned relative until a scroll point is reached, after which it becomes “fixed” and sticks to that position until the scrolling container is out of view. It’s a mix of relative and fixed positioning. You must specify at least one of the top, right, bottom, or left properties for it to stick (e.g. Type > Individual > Top = 5px)
The z-index controls the stack order of elements on the page and is an important CSS property in web design. When multiple elements overlap, the z-index determines which element appears on top of the others. See Tailwind CSS Z-Index for more details.
None
No Z-Index properties are set on the container.
Auto
Lets the browser automatically determine the Z-index of the container.
Custom
Set the Z-index manual for the container,can be a positive or negatiev value (e.g. -50, or 50).
The Inset property is used to control the positioning of an element relative to its nearest positioned ancestor. See Tailwind CSS Top / Right / Bottom / Left for more details.
None
No uniform or individual spacing properties are set on the container.
Uniform
Uniform combines the top, right, bottom, and left offset properties into a single option, allowing you to quickly set all four sides at once.
Individual
Individual set the top, right, bottom, and left offset properties.
Advanced layout settings for Overflow, Isolation, and Visibility.
Controls how an element handles content that is too large for the container. See Tailwind CSS Overflow for more details.
None
No overflow properties are set on the container.
Visible
Content that overflows the container will still be visible outside of its bounds.
Hidden
Content that exceeds the dimensions of the container is completely hidden (no scrollbars are displayed, and you can’t scroll to see the overflowed content).
Scroll
A scrollbar is always shown, regardless of whether the content overflows the container or not. The user can scroll to view the overflowing content.
Auto
Scrollbars will automatically appear only if the content overflows the container.
In complex layouts, different elements may interact with each other in ways that are not always predictable, especially when dealing with z-index. Using isolate helps create a new stacking context for an element, effectively “isolating” it from the outside world, preventing unexpected overlaps or stacking behavior. See Tailwind CSS Isolation for more details.
None
No Isolation properties are set on the container.
Visible
Forces an element to create a new stacking context. This isolates the element’s stacking order from the rest of the page, meaning its child elements won’t interfere with other elements on the page, even if they have z-index values.
Auto
This is the default setting that lets the browser determine the stacking context without forcing isolation.
Controls the visibility of an element on the page. See Tailwind CSS Visibility for more details. Please note: The Visibility control was updated Janury 2025, so the video is slightly out of date.
Auto
This is the default setting that lets the browser determine the visibility of an element.
Visible
When set to visible, the element is fully visible on the page and takes up space in the layout as usual.
Invisible
When set to invisible, the element is not visible on the page and takes up space in the layout as usual.
Perfect for headings and titles.
The Text Component is an ideal choice for a wide range of text elements, from headings and taglines to smaller text areas. It provides flexibility for styling text to suit various design needs, making it perfect for creating visually impactful headings, standout taglines, and highlighted phrases.
With the Text Component, you can easily create bold, eye-catching headings enhanced by background images, gradients, or color overlays, adding depth and style to your design. The component’s versatility means it works seamlessly in both minimal and complex layouts, allowing you to design text elements that grab attention without overpowering your overall look.
Whether you’re looking to create subtle text accents or prominent, styled headers, the Text Component has you covered.
The following video will teach you the basics on using the Text Component.
The following video will show you how to make your text resposive.
This is an advaced feature that allows you to apply Tailwind CSS Classes to any of your text in the Text Component.
Below we have included a few sample classes that were featured int he video. To learn more you can browse the Tailwind CSS Docs.
blur-sm
hover:blur-sm transition
hover:line-through
inline-block rotate-[2deg]
underline decoration-wavy underline-offset-[10px]
Under the General settings in the inspector you'll find options to style the entire block of text.
The Tag helps create a semantic structure so search engines understand the hierarchy and relationship of your content. For example, the main heading on the page choose would be "Heading 1", your body text would be set "Paragraph".
Align your text, left, center and right. You may need to also set the aligment of the parent item to get the desired alignment.
Choose a font family, these are managed by the Theme Studio.
Choose a text size, these are managed by the Theme Studio.
Text styles include size, line height, letter spacing, and weight. You can override some of these settings inline by choosing the "Override" option.
Set the weight of your text.
Set the spacing of the text.
Set the line height of the text.
Make the text italic.
Choose a shadow for yoru text, these are managed by the Theme Studio.
Choose a shadow for yoru text, these are managed by the Theme Studio.
Choose from None, Uppercase, Lowercase, and Capitalise.
Choose from None, Underline, Overline, and Line Through.
Choose between colour, background image, and gradient for your text. Each different type of style has a set of sub options.
Color: Choose a solid colour from the theme studio, also supports opacity.
Image: Choose an image, along with positioning, sizing, and repeat.
Gradient: Supports up to 3 colours, set position and oapcity of each colour independently.
Default and HOver
A guide fixing your Publishing Issues
Can't get your website online or updated? Don't worry. 99% of the time the issue is due to incorrect setup of publishing details. Everything needs to be entered 100% correctly otherwise publishing fails.
The following is recommended if you're having issues publishing your site and you need to get an update online as soon as possible. After manually uploading your site we recommend you get in touch with us to help resolve the issue publishing with Elements.
We recommend entering your details into a third-party client to verify they work and are correct. and are both great FTP clients and can be downloaded freely for this test. If you're still having issues logging into your server with a third-party client it means your login credentials are incorrect. Please contact your hosting company to verify your details. If you successfully log in to your server with a third-party client, you can then export your site to a local folder with RapidWeaver, and then upload it directly using an FTP client as a temporary workaround.
By far the most common cause of publishing issues is that the credentials entered are not accurate. It’s incredibly important that you double-check the details you’ve entered. To view your configured publishing details, choose: File > Publishing Settings (Command-K). Check that all the fields are entered correctly: Server Address, Username, Password, Path, etc. Entering an incorrect Path is the most common cause of publishing problems in RapidWeaver. Some common site paths may include:
/
httpdocs/
www/
public_html/
You can always use the “Browse” button inside the publishing settings to pick the correct path on your server.
The list above is by no means an exhaustive list as paths vary greatly between different hosts, so if you’re still experiencing issues, please consult your web host’s online help to determine the Path required to upload to the correct folder. Sometimes, the Path may be known as the “Upload Folder”. You may also want to contact your web host directly and ensure that they have not made any recent changes to the server which may affect your settings and that you’ve not run out of webspace.
RapidWeaver has a number of options to configure publishing - particularly if you’re using FTPS uploading. Please check what your server is expecting, some hosting providers require specific settings. Due to the nature of how FTP works, RapidWeaver cannot reliably detect the correct settings that you should use. If in doubt email your hosting company. If you think it's all set up correctly, try this next:
If your host limits the number of connections that can be made to your server, you can set RapidWeaver to use a smaller number of connections when publishing. If in doubt set this to 1. To do this, open RapidWeaver’s Preferences window, and adjust the slider for the Maximum Concurrent Uploads to 1 before attempting to publish your project once again. If that didn't help, it's time to try something completely different:
If you're having issues publishing via FTP, we recommend publishing via SFTP as this is often more reliable (and secure).
Contact your hosting company to check your SFTP details as they can often be slightly different to your FTP details.
If you have verified your publishing credentials are correct in another FTP app and it's still not working inside RapidWeaver please delete your publishing destination, and re-add a new publishing destination. By doing this you ensure all the details are new and verified. If you're super technical and can log into your hosting cPanel, you could try setting up a new FTP accountant see if that works. If this means nothing to you, you can safely ignore this and move on to the next troubleshooting step.
This issue is surprisingly common, especially if you're publishing multiple websites to the same server. By default, RapidWeaver will backup your project file to the server, and this can easily build up over time and you can run out of server disk space. If you've run out of server disk space RapidWeaver will give the following error: “Couldn't upload to your FTP server” and if you click on the “i” to get more info it may say “Transferred a partial file” or “Operation was aborted by an application callback”. If you're seeing these errors, check how much space you're using on your server, and check how much you've allocated by logging into your hosting provider. You can safely delete some of the older RW backup files to make room for new uploads. If in doubt you can always email your hosting provider and ask how much space you're using and how much you have available. Once you have enough space, you should be able to resume updates to your website.
Use the File menu’s Re-Publish All Files option to re-upload your site. It may be that some files are missing and were not uploaded. You may also want to remove the history and browsing data in your web browser. Sometimes web browsers can display older cached data.
Some hosts may require you to use a path that begins with a forward slash (which has a special meaning to a web server). Unless you explicitly state that your path should start with a forward slash, you should not attempt to use a path with a forward slash - otherwise, you may well run into publishing difficulties.
RapidWeaver can also be configured to produce a more in-depth report about publishing that the Realmac Software support team can use to identify potential problems. First of all open RapidWeaver’s preferences (Cmd,) and select the Publishing preferences pane. Make sure that the Enable Upload Logging option is checked.
Please do the following step to send your publishing logs to us:
Quit RapidWeaver.
Re-open your project in RapidWeaver.
Attempt to republish your RapidWeaver project by choosing File>Re-Publish All Files.
If the publishing feature returns an error, hit the “Send Upload Logs” button.
It will then attempt to generate an email with the publishing logs, enter some details about your issue, and hit send!
Exporting If you’re seeing an error message when exporting your site, this may mean that there’s a problem with either an addon or a resource in your project. If an error message appears consistently when exporting a particular page, take a look at the page - are there any resources missing, or a particular addon that may be causing a problem?
When contacting Realmac Software, please include as much detail as possible. Please also use the Help menu’s Copy Support Logs. Please be sure to include the following details in your message:
Who are you hosting your website with?
Which version of RapidWeaver are you using? What version of macOS is running on your Mac?
How large is your RapidWeaver project file?
Which, if any, third-party addons are you using with your project? Please include any third-party themes.
Are you seeing an error message when publishing? Please include the full text of the error or, ideally, a screenshot.
We aim to reply to all messages within 2 business days. We know it's frustrating not being able to publish, but do remember we're only human and we do our best to help in what can be a very complex issue.
We value your privacy.
At Realmac Software Ltd, we’ve always been committed to maintaining the trust and confidence of our customers and visitors. We’re not in the business of selling, renting, or trading email lists with other companies for marketing purposes — and we never will be.
This policy explains when and why we collect personal information, how we use it, and how we keep it secure.
By using our website or software, you agree to the terms of this Privacy Policy.
Realmac Software Ltd Registered in England and Wales Email: [email protected] ICO Registration Number:
We design and sell software for macOS, including Squash, RapidWeaver Classic and RapidWeaver Elements.
We may collect personal data such as your name, email address, and contact details when you:
Use our website
Purchase our software
Send us support requests
Sign up for our mailing list
Participate in our forums
We only collect the information necessary to provide our services and support.
We use your personal information for the following purposes:
To process software purchases and deliver license details
To respond to support requests and communicate with you
To send newsletters and updates (only if you’ve opted in)
To understand how our website and products are used
To notify you of software changes or improvements
We do not sell, rent, or share personal information with other organisations for marketing.
We use FastSpring to securely handle all software sales. They collect and process your billing details to complete purchases. FastSpring is the Merchant of Record, and they handle payment processing, refunds, and related support.
We use Google Analytics to understand how visitors use our website. Analytics data may include anonymised IP addresses, device type, and pages visited. We never use this data to personally identify you, and we do not merge it with other information.
We use Buttondown to manage our mailing list. When you sign up, we collect your name and email address so we can send you news, updates, and promotions about our software. You can unsubscribe at any time using the “Unsubscribe” link in any of our emails.
We only process personal data when we have a valid legal reason to do so:
All traffic to our websites (including the store, forum, and community) uses HTTPS for secure communication. We store minimal data and ensure it’s protected using appropriate technical and organisational measures.
We only keep your data for as long as necessary:
Purchase and billing data: up to 6 years (for accounting and tax purposes)
Newsletter data: until you unsubscribe
Analytics data: typically 26 months (Google’s standard retention period)
You have the right to:
Request a copy of your personal data
Ask us to correct or delete it
Withdraw consent for newsletters or analytics
Object to certain processing
Complain to the ICO if you believe your data isn’t handled properly
To make a request, email [email protected].
We may update this policy from time to time. Any changes will be posted here, and where appropriate, you’ll be notified by email.
This Privacy Policy was last updated in October 2025 and replaces all previous versions.
If you have questions about this Privacy Policy or how we handle your data, email us at [email protected].
Advanced control for key website settings
The .htaccess file is a simple configuration file used by Apache-based web servers. It lets you control key settings for your website, such as redirect rules, caching, security headers, and more — all without needing access to the server’s main configuration.
For Elements sites, you can use .htaccess to improve security (via headers like CSP and X-Frame-Options), enforce HTTPS, enable compression, and make your site more robust.
Below is a basic, recommended starting point for your .htaccess file.
Right-click inside the page of your project and choose New File
from the contextual menu. Name the file .htaccess
and ensure it is in the root of your website.
See also; on using the .htaccess rules to rewrite how urls are displayed in the CMS.
CSP is a security feature implemented via HTTP headers that tells the browser which content it’s allowed to load (like scripts, styles, images, etc). The main goal is to prevent attacks like cross-site scripting (XSS) and data injection by controlling what sources are considered safe.
You can test the security headers for your website at:
Processing purchases
Contractual necessity
Sending newsletters
Consent
Responding to support requests
Legitimate interest
Website analytics
Consent
# Enable URL rewriting (required for pretty URLs, redirects, etc)
<IfModule mod_rewrite.c>
RewriteEngine On
</IfModule>
# Security Headers
<IfModule mod_headers.c>
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "geolocation=(), camera=(), microphone=()"
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
</IfModule>
# Enable Gzip compression
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css application/javascript application/json
</IfModule>
# Disable directory listing
Options -Indexes
# Enforce HTTPS
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
</IfModule>
# Prevent MIME-type sniffing
<IfModule mod_headers.c>
Header set X-Content-Type-Options "nosniff"
</IfModule>
# Prevent clickjacking
<IfModule mod_headers.c>
Header always set X-Frame-Options "SAMEORIGIN"
</IfModule>
# Control referrer information
<IfModule mod_headers.c>
Header set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>
# Control browser features
<IfModule mod_headers.c>
Header set Permissions-Policy "geolocation=(), camera=(), microphone=()"
</IfModule>
Add Scalable Vector Graphics to your website
SVGs (Scalable Vector Graphics) have become a go-to choice for web design because they offer incredible flexibility and quality. Unlike traditional image formats like JPEG or PNG, SVGs are vector-based, meaning they’re made up of lines and shapes rather than pixels. This makes them infinitely scalable without losing quality, so they look sharp on any screen size or resolution, from small mobile devices to large desktop monitors.
1. Crisp at Any Size: SVGs maintain perfect clarity when resized, ensuring icons, logos, and illustrations always appear sharp and professional.
2. Small File Size: SVGs are typically smaller than high-resolution images, which helps websites load faster. Their code-based structure allows them to be easily optimized, minimizing file size and improving performance.
3. Easy to Style: SVGs can be styled directly with CSS, making them easy to fit in with the colours and style of your website.
To add an SVG, drop it from the Finder (or Resources) area into the Dropwell.
To set a fill colour on an SVG it needs to be setup correctly to support fill colours.
None
No colour or classes will be applied to the SVG.
Static
Set a single fill colour on the SVG.
Hover
Set a Start and End colour for the SVG. The Hover colour is displayed when the mouse cursor is over the SVG.
To set a stroke colour on an SVG it needs to be setup correctly to support stroke colours.
None
No colour or classes will be applied to the SVG.
Static
Set a single fill colour on the SVG.
Hover
Set a Start and End colour for the SVG. The Hover colour is displayed when the mouse cursor is over the SVG.
Width
Set a stroke width for the SVG in pixels.
SVG Cleanup with Sketch App on the Elements Forum provides a good overview and discussion on the best way to get your SVG's ready for use in Elements.
You can download Sketch App here, and the SVGO plugin here.
Getting SVG's to display correctly is a bit of a dark art, but with a bit of tinkering you'll be able to modify them to work and look great on the web and in Elements.
A: SVG images don’t always respond as expected to CSS styles for a few reasons, and it’s a common stumbling block. Here’s a quick rundown on why this happens and how to get more reliable control over your SVGs in RapidWeaver Elements…
SVG elements have their own styling properties, like fill and stroke, which can sometimes conflict with CSS styles. If these attributes are set within the SVG code itself, they can override Colours and Styles from Elements.
For scalable, theme-compatible SVGs, you can set the fill and stroke attributes to currentColor within the SVG file. This approach allows Elements to set SVG color for the stroke or Fill.
Set fill="currentColor"
within your SVGs if you want Elements to set the colour of the stroke or fill. Depending on how the SVG is coded, this might not work, if that is the case, you should try removing fill="currentColor"
from yoru SVG.
A: Use the Sizing settings in the component inspector, by default this is set to use a Theme Studio value. Custom CSS values can also be used to size the SVG.
A: Remove the height and width values in the SVG file, see screenshot below for an example.
A: Tabler Icons has over 5,650 free SVG icons, they are all perfect for use on your Elements websites. Download any of the icons from there and remove the width and height code (as above), and they are ready to use in your project. The icons from Tabler are setup to use the stroke attribute. See the video below for a quick overview of how this works in practice. Also, see our list above.
All of the following icon libraries work well Elements, if you require them to be resiable in Elements you'll need to remove the Height and Width values from the code before importing.
https://lucide.dev, open-source library, over 1000+ svg icons.
https://tabler.io/icons, over 5,650 free SVG icons.
https://feathericons.com, simply beautiful open source icons
https://phosphoricons.com, outline, filled, duotone and more.
https://svgl.app, a beautiful library of company SVG logos.
https://heroicons.com, hand-crafted SVG icons, by the makers of Tailwind CSS (you'll need to copy and paste the code into a file and save it with a .svg extension before adding to Elements).
Practical SVG by Chris Coyier
Build beautiful image and video galleries
The Gallery component in Elements allows you to build beautiful Galleries in a matter of seconds. Simple place the Gallery component into your site and drop on a folder images (or video).
You can add YouTube or Vimeo videos by dragging and dropping the URL from your web browser to the Resources area in RapidWeaver Elements. A playlist URL can also be dropped into the resources area.
Galleries can contain a mixture of file types, including:
JPG
PNG
YouTube
Vimeo
.mp4
Elements is designed to be flexible with image sizes, but for best results in galleries, we recommend using images that are at least 1200px wide for modern displays. This ensures your gallery looks sharp on all devices.
For batch resizing and compressing images we recommend Squash for macOS.
The Layout section controls how your images are arranged within the Gallery component. Use these settings to define the number of columns and the spacing between each thumbnail.
Columns
Adjust the number of columns displayed in your gallery.
Use the slider to set how many columns of thumbnails appear across your layout.
The gallery automatically adapts to different screen sizes, ensuring images remain evenly spaced and visually balanced.
Gap
Set the spacing between gallery items.
The Gap value defines the amount of space between thumbnails.
Use smaller values for a tighter grid or larger ones to give each image more breathing room.
The value corresponds to Tailwind’s spacing scale, so it remains consistent with your theme settings.
The Thumbnails section controls how images are displayed within the Gallery component. You can adjust the size, shape, and appearance of the thumbnails, along with metadata such as captions and authors.
The Aspect ratio will apply to all images to give the grid an ascetically pleasing and consistent look. If you wish to mix and match aspect ratios, we recommend building a custom Gallery with the Grid Component.
Media
These settings define the overall appearance of your thumbnails.
Aspect
Choose between Square, Wide, or Tall to control the image aspect ratio.
Radius
Adjust the corner rounding of your images.
Shadow
Adds a soft drop shadow to thumbnails.
Meta Data
Use these options to control how meta information (such as captions or authors) is positioned and spaced around the thumbnail.
Alignment
Align metadata text to the Left, Center, or Right of each thumbnail.
Margin
Adds spacing around the metadata area and the thumbnail.
Spacing
Controls the space between individual metadata items (for example, between a caption and author line).
Caption & Author
Controls the appearance of the image caption and author
Show
Toggle captions on or off.
Color
Sets the text color.
Font
Select a font style (such as heading or body) from your project’s theme.
Size
Define the text size.
The Lightbox section controls how images are displayed when clicked. Enabling the Lightbox allows visitors to view larger versions of your images in a clean, focused overlay without leaving the page.
Preview
Toggle the Preview option to enable or disable viewing the lightbox in the Elements Editor.
Media Fine-tune the appearance of images displayed inside the lightbox.
Radius
Adjust the corner rounding of lightbox images. Use Default to follow your project’s theme styling.
Shadow
Apply a drop shadow around images in the lightbox to give them depth and contrast. Use Default to follow your project’s theme styling.
Tip: Use consistent radius and shadow settings between your Thumbnails and Lightbox sections for a unified visual style.
The Overlay section controls the background appearance behind images when the Lightbox is active. These settings let you adjust the overlay’s color, opacity, and blur to achieve the desired visual focus when viewing enlarged images.
Color
Choose the background color of the overlay.
This determines the tone of the area behind the image when opened in the Lightbox.
Darker overlays help the image stand out, while lighter tones can create a softer presentation.
Opacity
Adjust the transparency of the overlay.
Lower values make the background more visible through the overlay.
Higher values create a stronger contrast between the image and background.
The default setting provides a subtle darkening effect suitable for most themes.
Blur
Adds a soft blur to the background content beneath the overlay.
This helps draw attention to the image while maintaining a sense of depth and polish.
Increase the blur amount for a more diffused background effect.
Tip: Combine a slightly dark overlay color with moderate blur for a clean, modern Lightbox appearance that complements most gallery styles.
The Navigation section controls the appearance of the navigation buttons within the Lightbox view. These settings let you customise the look of the Close, Next, and Previous buttons to suit your project’s theme.
General
Adjust the overall design and sizing of navigation buttons.
Border Radius
Controls the corner rounding of all navigation buttons. You can set independent values for horizontal and vertical radius, or leave as Default for theme consistency.
Padding
Sets the inner spacing around each icon, determining how much space appears between the button edge and the icon.
Size
Adjusts the icon size inside the navigation buttons.
State
Switch between Default and Hover to style how buttons look in each interaction state.
Customise the appearance of the button used to close the Lightbox.
Background
Sets the background color on the button
Icon
Choose the color of the icon for better contrast against the background.
Opacity
Adjusts the transparency of both the button and icon.
Tip: For best results, use semi-transparent backgrounds with high-contrast icons. This keeps navigation controls visible without distracting from the main image.
The Advanced Section provides options for users who want finer control over styling or need to link directly to the Gallery component.
These settings are ideal for developers and advanced users comfortable with custom CSS or Tailwind utilities.
CSS Classes
Add one or more Tailwind CSS classes to the Gallery component for custom styling.
This allows you to extend or override default styles without editing your theme or component code.
You can use any valid Tailwind utility class to adjust spacing, colours, borders, or animations.
ID
Assign a unique ID to the component. This is useful for creating in-page anchor links or targeting the component with custom scripts and CSS selectors.
Send form data via email or webhooks
The Form Component is a flexible and powerful solution for sending form submissions either to your own email server or via a webhook.
We recommend using a Webhook to handle email delivery or data collection. It’s significantly more reliable and easier to set up than configuring SMTP manually, which can often lead to issues with authentication, server compatability, spam filters, or SSL mismatches.
The Form Component in Elements requires PHP 8.1 or newer. You can run the built-in PHP Server check to ensure your server meets this requirement.
Behind the scenes the Elements Form uses the very popular and robust PHPMailer framework.
Because every server is different, we cannot guarantee the form will work. If you have trouble sending email via the form we recommend switching sending your form via a Webhook.
Before going live with your form, make sure you’ve covered the following essentials. These common issues can prevent form submissions from working correctly, so it’s worth double-checking everything below:
If you've published your form, and are still having issues, please run through this troubleshooting guide to help resolve common issues:
Run the PHP Server check to ensure version on your server meets the minimum requirements.
Check your hosting provider’s documentation to ensure outbound SMTP is supported.
Ensure you have entered the correct details for the Form Setup, this is worth triple checking as this is the most common cause of why a form is not delivering email.
Check the email password you entered for the form is correct correct, and doesn't contain any trailing spaces (this is more common than you'd imagine).
In some cases, your email provider will block sending if the From address doesn’t match your SMTP account. Make sure: The From Email matches the SMTP Username. The To Email is valid and not blacklisted or blocked by spam filters.
Review your form logs to see detailed error messages, this can be found at the following location on your server: rw/elements/com.realmac.corepack/api/logs
the file name will look something like this form_rw904107B7_1234_4FDC_9B97_1D9A663C1B17-2025-07-24.log
— Note the date on the end of the file, this is helpful for ensure you're checking the correct log file.
If you are sure all your details are correct, and you have verifed them with your email hosting provider, please post your issue on our forum and we'll help you troubleshoot further.
When using a custom SMTP server to send form submissions, it’s important that your SMTP settings match your domain configuration.
Here’s what to check:
Email Address: Make sure the “From” address you’re using belongs to the same domain your site is hosted on (e.g. [email protected] if your site is hosted at yourdomain.com).
SMTP Server: Use the correct hostname for your mail server. This should match the SSL certificate used by the server (e.g. mail.yourdomain.com, not just localhost or an IP).
TLS/SSL Certificate: Your mail server must have a valid certificate that matches the SMTP server hostname. If there’s a mismatch, some providers (especially Gmail) will reject the connection.
Authentication: Use the correct username and password for your SMTP account.
You need to use your own email address as the “From” address because the mail server will only send messages that come from an address it recognises.
If we used the visitor’s email there, the message might get blocked. The usual way around this is to keep your own address as the sender, and then set the visitor’s email as the Reply-To.
That way the form email always gets delivered, and when you hit reply it goes straight back to them — this is how Forms work in Elements.
We recommend PHP 8.4 or later for best performance, but the minimum supported version is 8.1.
To check is the Elements API is running as expected on your server, simply append ?apicheck to the URL of any page containing a Form.
my-website.com/contact/?apicheck
To help diagnose issues with your Form, Elements generates detailed log files on your server.
The logs folder is located at the root of your web server, alongside other top-level folders like index.html, images, or css.
rw/elements/com.realmac.corepack/api/logs
The date at the end of the filename makes it easy to identify the most recent log. Make sure you’re checking the correct file based on when the issue occurred.
form_rw904107B7_1234_4FDC_9B97_1D9A663C1B17-2025-07-24.log
To function correctly, the following Components must be placed inside a Form Component wrapper.
Attachment
Allows users to attach files to a form submission. You can limit attachments by file type or size. Multiple files are supported when sending forms via email, though Webhooks are limited to a single file.
Checkbox
Collects one or more yes/no values. Commonly used for terms and conditions, opt-ins, or preferences. Often paired with a Label for clarity and accessibility.
Error
Displays an error message when the form fails to submit. Useful for alerting users to missing fields or validation issues.
Input
A single-line text field for collecting user input such as names, email addresses, or numbers. Supports placeholder text and validation options.
Label
Describes the purpose of a form field. Helps improve accessibility and is typically used alongside Input, Checkbox, or Radio components.
Radio
Lets users choose a single option from a predefined list.
Submit
Triggers the form submission. You can place a Button, Image, or other interactive element inside this component to send the form.
Success
Displays a success message when the form has been submitted successfully.
To recive emails via the Form Component you will need to enter your Email server details. Here’s a breakdown of what each field means and what you’ll need to configure to make it work properly.
Host
Email host address. e.g. mail.yourdomain.com
Port
The port number the email server uses for sending messages. - 587: For TLS encryption (most common) - 465: For SSL encryption. - 25: For non-encrypted emails (not recommended).
Encryption
Choose the encryption method required by your email provider. None, TLS, SSL
Username
The email address or username for the SMTP account you’re using to send emails. e.g. [email protected].
Password
The password for your SMTP account.
From Name
Set as needed (e.g. Jonny Appleseed)
From Address
Should match the Username for the account. This is usually the main issue if messages don’t send.
Subject
The subject of the email you'll receive. e.g. "Website Feedback"
To Name
The name the email will be addressed to. e.g. "Team Realmac"
To Address
The email address the form submission will be sent to. e.g. "[email protected]"
In order for Elements to correctly set the “reply-to” header in the outgoing email, the form field name must be set to email, all lowercase.
A webhook allows your form submissions to be sent directly to another service, like a database, CRM, or automation tool without needing to check emails or manually process the data. By sending form data to a webhook, you can trigger workflows in Zapier, Make, or Pipedream, making it easy to do the following (and so much more):
• Add a new lead to Airtable or Google Sheets
• Send a follow-up email through Mailchimp or ConvertKit
• Notify your team in Slack or Discord
• Create support tickets in Zendesk or Trello
There's really no limit to what you can do with the new webhooks feature. Whether you’re building a customer support system, a lead capture form, or a dynamic survey that feeds into a database, webhooks unlock powerful automation and customization that email simply can’t match.
If you are using an attachment in your form, only the first attached file will be sent via the WebHook. Multiple files are supported when sending forms via email.
Most webhook endpoints expect a single file attachment, typically for straightforward processing, like saving it to cloud storage or forwarding it via email. Supporting multiple files would require a more complex multipart or array-based structure, which many webhook endpoints don’t handle out of the box.
Webhook submissions require a server environment, so once you publish the page to a server—either a remote server or a local one—you should find the submission works as expected.
If you want to test everything locally, you’ll need to set up a local web server on your Mac. We recommend ServBay for this.
Here’s a quick guide:
Install ServBay
Publish your Elements site to a local folder
In ServBay, create a new site and point the root directory to your published folder
Open the site in your browser through ServBay for full local testing—including Forms and webhooks
Fully Customizable Site Template
The site template give you the ability to modify the underlying template code for your entire site. It's perfect for placing scripts, such as Google Analytics anywhere within the page structure.
The site template is used on every page of your website. If you need to insert a script just on specific pages, you should use the page level code areas instead.
The Site Template has access to the following properties.
{{site.title}}
String
Website title
{{site.url}}
String
Website URL
{{page.title}}
String
Page title
{{page.path}}
String
Page path from site root
{{page.languageAttributes}}
String
Page language attributes
{{page.resourcesPath}}
String
Path to site resources directory
{{page.opengraph}}
String
OpenGraph social meta tag
{{page.social.title}}
String
Title for social media
{{page.social.description}}
String
Description for social media
{{page.social.url}}
String
Full page URL
{{page.social.image}}
String
Image for social media
{{page.content}}
String
Page content
{{page.componentHeader}}
String
Headers required by components
{{page.componentCSS}}
String
CSS required by components
{{page.componentJS}}
String
JS required by components
{{page.componentPageStart}}
String
Code required by components at start of page
{{page.componentPageEnd}}
String
Code required by components at end of page
{{page.componentHeadStart}}
String
Code required by components at start of headers
{{page.componentHeadEnd}}
String
Code required by components at end of headers
{{page.componentBodyStart}}
String
Code required by components at start of body
{{page.componentBodyEnd}}
String
Code required by components at end of body
{{page.customHeader}}
String
Custom page headers
{{page.customCSS}}
String
Custom page CSS
{{page.customJS}}
String
Custom page JS
{{page.customPageStart}}
String
Custom code at start of page
{{page.customPageEnd}}
String
Custom code at end of page
{{page.customHeadStart}}
String
Custom code at start of headers
{{page.customHeadEnd}}
String
Custom code at end of headers
{{page.customBodyStart}}
String
Custom code at start of body
{{page.customBodyEnd}}
String
Custom code at end of body
{{page.bodyClasses}}
String
required inside of classes body tag to support background colour
{{page.bodyAttributes}}
String
Should be placed inside of body tag to support custom attributes
To reference a file in you Resources folder you can use the following page tag to get the correct path to the resources folder:{{page.resourcesPath}}.
The following example shows how you might link to a "store.js" file that's in a "scripts" folder in the Resources area.
<script src="{{page.resourcesPath}}/scripts/javascript.js"></script>
The following is an example of the default site Template. Please note the template is only used during preview and export. It is not used in Edit mode.
{{page.customPageStart}}
{{page.componentPageStart}}
<!doctype html>
<html class="scroll-smooth" {{page.languageAttributes}}>
<head>
{{page.customHeadStart}}
{{page.componentHeadStart}}
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width">
{{page.componentHeader}}
{{page.opengraph}}
{{page.customHeader}}
<title>{{page.title}}</title>
{{page.componentCSS}}
{{page.customCSS}}
{{page.componentJS}}
{{page.customJS}}
{{page.componentHeadEnd}}
{{page.customHeadEnd}}
</head>
<body class="{{page.bodyClasses}}" {{page.bodyAttributes}}>
{{page.customBodyStart}}
{{page.componentBodyStart}}
{{page.content}}
{{page.componentBodyEnd}}
{{page.customBodyEnd}}
</body>
</html>
{{page.componentPageEnd}}
{{page.customPageEnd}}
You might like to add Twitter/X specific meta tags to your site so pages display correctly on their platform. Simply add the following to your site template.
<!-- Twitter/X Card Tags (Ensures Proper Display on Twitter) -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="{{page.social.title}}">
<meta name="twitter:description" content="{{page.social.description}}">
<meta name="twitter:image" content="{{page.social.image}}">
<meta name="twitter:url" content="{{page.social.url}}">
The following videos will show you how to use the Template feature in Elements. The videos were recorded with a development version of Elements so the feature(s) available now may differ slightly to those in the video.