Giter Club home page Giter Club logo

dragon's Introduction

Dragon

Website Content Management System using Embedded Elixir templates (EEX)

Dragon Mascot

BETA — fairly feature complete, but needs some sea trials. See the TODO 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). 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 for more details.

For more information see: Using.

Additional topics:

Example:

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 https://github.com/srevenant/website-2-s3-cdn).

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!

dragon's People

Contributors

srevenant avatar

Stargazers

Dmitry Novikov avatar Joseph DelCioppio avatar Franklin Rakotomalala avatar Will R avatar Brian Bonsignore  avatar Nikita avatar Felipe Menegazzi avatar Hissssst avatar

Watchers

 avatar  avatar

dragon's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.