Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/srevenant/dragon
Static Website Content Management System using Embedded Elixir. Similar to Jekyll, but in Elixir!
https://github.com/srevenant/dragon
cms elixir jekyll website-template
Last synced: about 2 months ago
JSON representation
Static Website Content Management System using Embedded Elixir. Similar to Jekyll, but in Elixir!
- Host: GitHub
- URL: https://github.com/srevenant/dragon
- Owner: srevenant
- License: apache-2.0
- Created: 2023-04-17T00:58:07.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-12-25T03:14:22.000Z (about 1 year ago)
- Last Synced: 2024-04-26T04:20:55.262Z (8 months ago)
- Topics: cms, elixir, jekyll, website-template
- Language: Elixir
- Homepage:
- Size: 3.45 MB
- Stars: 8
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Dragon
Website Content Management System using Embedded Elixir templates (EEX)
___BETA___ — fairly feature complete, but needs some sea trials. See the [TODO](docs/todo.md) for more info.
Dragon is a content management system similar to Jekyll, but using Elixir and
EEX templates, along with some improvements to behavior
(cue [xkcd comic](https://xkcd.com/927/)). It is the static-site
generator counterpoint to the Elixir Phoenix appserver.If you are familiar with Jekyll, you should be able to migrate fairly easily.
Benefits of Dragon:
* Templates using powerful EEX rather than liquid. This comes with a feature-rich
environment for all sorts of functionality (limited only by Elixir/EEX).
* Robust and extensible data handling system
* Very little "magic" and hard assertions. Other than the top level configuration
file, the rest of it is up to how you configure your project.
* Relative includes! No need for files scattered all over in include folders,
just include it from your local path. You can still use library folders if you
so desire, in any location you choose (starting an included file with a slash
resolves that file based on the project root, rather than relatively to the
current file) — see [Using](docs/using.md) for more details.For more information see: [Using](docs/using.md).
Additional topics:
* [Installation](docs/installation.md)
* [Using](docs/using.md)
* [TODO](docs/todo.md)
* [Contributors](docs/contributors.md)
* [Developer Notes](docs/developer-notes.md)## Example:
## Known Issues
* when running in dragon.serve development mode, something with
Bandit/Plug/SendFile/browser is keeping open files instead of closing them
between each query. This means eventually elixir runs out of file descriptors
and crashes.For now, just restart.
We are looking into finding out what's keeping these open. (for those interested:
it happens in MacOS, Firefox or Chrome. If you close the browser, the files
are reaped back in by the beam).## FAQ
#### Aren't Static CMS's dead?
Of course not! A majority of web content is static! With Dragon you can
easily build and deploy a site to a statically served CDN, such as Amazon,
and host your site for pennies if not chump change (sidebar: article on
how to do this pending, but checkout ).As Dragon evolves it'll become more integrated with Phoenix, so you can
leverage the power of both a static content generator and a dynamic appserver!