# Elements API

The Elements language is a simple, yet powerful **templating language** for RapidWeaver Elements, it's often referred to as the Elements API.

The Elements language allows third-party developers to create custom Elements that can be used within the RapidWeaver Elements layout engine. Element Dev Packs (.elementsdevpack) are a bundle of files, usually a mixture of HTML, JS, CSS, JSON, and images.

The only thing you need to start building your own custom Elements is a copy of RapidWeaver Elements. Previous web development experience is recommend, but not required.

### Open Source Components 🛠️&#x20;

The Core Components built into Elements are now open source 🎉 You can learn more about our [Open Source Core Components that power Elements here](https://docs.realmacsoftware.com/elements-docs/elements-language/dev-resources/open-source-components). You may also want to take a look at the associated [Build Tools](https://docs.realmacsoftware.com/elements-docs/elements-language/dev-resources/build-tools).

We also offer a simpler collection of [example Element Components](https://github.com/realmacsoftware/RWElementDevPacks/tree/main) to help you get started. These simple component packs provide ready-to-use Components and configuration files you can explore, modify, and build upon to create your own custom Components for Elements.It’s the best place to learn by example and understand how a complete Dev Pack is structured.

### What's Required?

The following is a list of suggested tools to make developing Elements easier.

* A copy of [RapidWeaver Elements](https://realmacsoftware.com/rapidweaver/) (Required).
* Text editor, we recommend [Visual Studio Code](https://code.visualstudio.com).
* Our [Elements Syntax Highlighter](https://docs.realmacsoftware.com/elements-docs/elements-language/dev-resources/syntax-highlighting) for Visual Studio.
* [SF Symbol app](https://developer.apple.com/sf-symbols/) for icon name reference.

### Distributing Elements Packs

Dev Packs (.devpack) are for development only. They’re uncompiled and unencrypted, allowing live editing and real-time updates during development.

**⚠️ Do not share or sell Dev Packs:** They’re not optimised for distribution and can cause performance issues if misused.

✅ If you want to share or monitise your Dev Packs, they **must be compiled into Element Packs** (.elementpack) via the Elements Platform.&#x20;

[Learn more about distributing Element Packs](https://docs.realmacsoftware.com/elements-docs/store/creators/addon-distribution).

### Developer Community

We have a [Component Development area](https://forums.realmacsoftware.com/c/rapidweaver-elements/custom-components/56) on the [Elements Forum](https://forums.realmacsoftware.com/c/rapidweaver-elements/developer/58). It's open to anyone interested in using or building addons for the RapidWeaver Elements ecosystem.

We're always around to offer help with getting started or if you just need a hand while developing your next great addon for Elements. Come join us, we're a friendly bunch ☺️

**Got questions?** email <support@realmacsoftware.com>
