Performance without compromising productivity.
Beacon is a content management system (CMS) built with Phoenix LiveView. It brings the rendering speed benefits of Phoenix to even the most content-heavy pages with faster render times to boost SEO performance.
Check out the guides to get started and recipes to learn about features and do more with your sites.
If you're new to Beacon you probably want to start with creating your first site.
A sample application running latest Beacon is available at https://github.com/BeaconCMS/beacon_demo
Pre-release version. You can expect incomplete features and breaking changes before a stable v0.1.0 is released.
Main components:
- Core - A functional website can be built and deployed by inserting components in database and running a server, see https://github.com/BeaconCMS/beacon_demo
- Admin - LiveView UI to manage layouts, pages, and all other resources. See https://github.com/BeaconCMS/beacon_live_admin
- Page Builder - An easy to use, drag & drop UI for building pages, targeted to non-technical users. In the initial stages of development.
Check out the CONTRIBUTING.md doc for overall guidelines to contribute to this project, then follow the Local Development steps to run a local project or watch the video below to understand more about Beacon internals:
The file dev.exs
is a self-contained Phoenix application running Beacon with sample data and code reloading enabled. Follow these steps to get a site up and running:
- Install dependencies, build assets, and run database setup:
mix setup
- Execute the dev script:
iex --sname core@localhost -S mix dev
Note that running a named node isn't required unless you're running Beacon LiveAdmin for local development as well.
Finally, visit any of the routes defined in dev.exs
, eg: http://localhost:4001/dev or http://localhost:4001/dev/sample
At DockYard we are ready to help you build your next Elixir project. We have a unique expertise in Elixir and Phoenix development that is unmatched and we love to write about Elixir.
Have a project in mind? Get in touch!