https://github.com/beaconcms/beacon
Open-source Content Management System (CMS) built with Phoenix LiveView. Faster render times to boost SEO performance, even for the most content-heavy pages.
https://github.com/beaconcms/beacon
cms elixir elixir-lang phoenix phoenix-framework phoenix-liveview
Last synced: 11 days ago
JSON representation
Open-source Content Management System (CMS) built with Phoenix LiveView. Faster render times to boost SEO performance, even for the most content-heavy pages.
- Host: GitHub
- URL: https://github.com/beaconcms/beacon
- Owner: BeaconCMS
- License: mit
- Created: 2021-12-21T16:41:12.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-09T13:00:35.000Z (13 days ago)
- Last Synced: 2025-04-11T20:58:55.944Z (11 days ago)
- Topics: cms, elixir, elixir-lang, phoenix, phoenix-framework, phoenix-liveview
- Language: Elixir
- Homepage: https://beaconcms.org
- Size: 8.87 MB
- Stars: 1,134
- Watchers: 31
- Forks: 111
- Open Issues: 57
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Roadmap: ROADMAP.md
Awesome Lists containing this project
README
# Beacon
![]()
[](https://hex.pm/packages/beacon)
[](https://github.com/BeaconCMS/beacon/releases)
[](https://github.com/BeaconCMS/beacon/blob/main/LICENSE.md)
[](https://hexdocs.pm/beacon)
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.## Getting Started
Install both Phoenix and Igniter installers:
```sh
mix archive.install hex phx_new && mix archive.install hex igniter_new
```Now you can either create a new Phoenix project with Beacon or add Beacon to an existing Phoenix project:
Create a new project
- Using latest published [beacon](https://hex.pm/packages/beacon) and [beacon_live_admin](https://hex.pm/packages/beacon_live_admin) packages:
```sh
mix igniter.new my_app --install beacon,beacon_live_admin --with phx.new --beacon.site my_site
```- Or using the unreleased projects from GitHub from the main branch:
```sh
mix igniter.new my_app \
--install beacon@github:BeaconCMS/beacon,beacon_live_admin@github:BeaconCMS/beacon_live_admin \
--with phx.new \
--beacon.site my_site
```Replace `my_app` and `my_site` with the names you want to generate and follow the prompts.
Add to existing project
If you already have a Phoenix project with Phoenix LiveView then you can just add Beacon into that project.
Similar to starting a new project, you can install Beacon and BeaconLiveAdmin and generate a new site:
- Using latest published [beacon](https://hex.pm/packages/beacon) and [beacon_live_admin](https://hex.pm/packages/beacon_live_admin) packages:
```sh
mix igniter.install beacon,beacon_live_admin --beacon.site my_site
```- Or using the unreleased projects from GitHub from the main branch:
```sh
mix igniter.install \
beacon@github:BeaconCMS/beacon,beacon_live_admin@github:BeaconCMS/beacon_live_admin \
--beacon.site my_site
```Replace `my_site` with the names you want to generate and follow the prompts.
To finish, install dependencies, run the server, and open http://localhost:4000 to see the default home page or http://localhost:4000/admin to manage your new site.
```sh
mix setup
mix phx.server
```For more info, check out the [guides and recipes](https://hexdocs.pm/beacon/installation.html). If you're new to Beacon you can start with [Your First Site](https://hexdocs.pm/beacon/your-first-site.html) guide.
## Demo
A sample application running latest Beacon is available at https://github.com/BeaconCMS/beacon_demo
## Status
You can expect incomplete features and breaking changes before a stable v1.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.## Contributing
Check out the [CONTRIBUTING.md](https://github.com/BeaconCMS/beacon/blob/main/CONTRIBUTING.md) doc for overall guidelines to contribute to this project,
then follow the [Local Development](https://github.com/BeaconCMS/beacon#local-development) steps to run a local project or watch the video below to understand more
about Beacon internals:## Local Development
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:
1. Install dependencies, build assets, and run database setup:
```sh
mix setup
```2. Execute the dev script:
```sh
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
## Looking for help with your Elixir project?
At DockYard we are [ready to help you build your next Elixir project](https://dockyard.com/phoenix-consulting).
We have a unique expertise in Elixir and Phoenix development that is unmatched and we love to [write about Elixir](https://dockyard.com/blog/categories/elixir).Have a project in mind? [Get in touch](https://dockyard.com/contact/hire-us)!