Nevertheless Published Mine

    clevertree-cms

    1.1.6 • Public • Published

    Clevertree CMS

    “Perfection is achieved, not when there is nothing more to add, 
     but when there is nothing left to take away.” 
                                                    ― Antoine de Saint-Exupéry
    

    Introduction

    Clevertree CMS is a light-weight and high performance UCMS (Universal Content Management System) with a primary goal for all of its content is transferable with other UCMS by the simplest possible interface.

    Perquisites

    • nodejs
    • MySQL/MariaDB Server

    What's Currently Working?

    • HTML-based content management with historic revisions
    • Upload files and create pages to any path
    • Host unlimited domains on a single node instance
    • Free, automated SSL via greenlock
    • Request administrator access by setting the domain's SOA email
    • Can be used stand-alone, or as a middleware within another NodeJS app
    • CMS API middleware can be enabled individually (example: content management @ /:content/ with no user management @ /:user/)
    • User services: Add, edit, reset / change password, list, delete, private message
    • Content services: Add, edit, multi-upload, delete, WYSIWYG editor
    • Interactive configuration

    Planned Features

    • Content templates
    • MarkDown (.md) support
    • App: Sync, backup and publish websites via desktop / mobile / 3rd party app
    • Server-wide search: Search for specific content on all sites within a server, and even on other UCMS servers
    • DB support (NOSQL etc)
    • Git (repository) driven content management (no database)
    • Send and receive email
    • Socket chat / IRC
    • Third-party CMS integration: Recognize databases from other CMS software like WordPress and Concrete5

    Project Goals

    • De-mystify HTML5 and Web-serving for the End-User
    • Free, Easy & SSL-secure Web Hosting for everyone
    • Quick-Start server configuration
    • Topical MVC - Database / API / client files must exist within the same topic directory
    • Maximum server performance with minimal overhead
    • Minimal HTML output! Example: Login Page (46 lines of HTML total)
      • Use as few tags as possible and keep documents small so they render quickly
    • Content only! No CMS-specific tags, prefixes, or support libraries on ANY rendered output
    • No server admins required - DNS SOA email authorizes administrator
    • Create sharable components across different CMS and websites
    • Client-side MVC - Render all GUI on the client's browser, never the server
    • Universal CMS / CMI: Common SCHEMA that may be shared with other CMS software

    Client-side Sharable customElements

    • Sharable customElements between websites
    • Server determines the client-side dependencies for each customElement based on it's name automatically. Examples:
    • End-user HTML content only needs to contain the customElement tag and the dependencies will be found
    • Encapsulated in a single client-side customElement containing:
      • Model - Requests a copy of the model from the API as it relates to the module
      • View - Renders the client side module responsively based on the model data
      • Controller - Formats and sends the API request and routes the response to the user

    Help Wanted

    • Javascript/NodeJS Programmer!
    • CSS Designer
    • Publicist
    • Quality Advocate

    Sites Powered by CleverTree CMS

    Installation (Stand alone)

    $ git clone https://github.com/clevertree/cms
    $ cd cms
    $ npm install
    

    Install CMS MySQL Administrator (Required for multi-domain hosting)

    $ sudo mysql
    CREATE USER 'cms_user'@'localhost' IDENTIFIED BY 'cms_pass';
    GRANT ALL ON *.* TO 'cms_user'@'localhost';
    FLUSH PRIVILEGES;
    

    Configure

    $ npm run configure
    

    Run Server

    $ npm start
    

    Installation (as Middleware)

    $ npm i clevertree-cms -s
    

    Use as middleware in your express server app

    // Example: myapp.js
    const express = require('express');
    const clevertree = require('clevertree-cms');
    
    
    // Create Express
    const app = express();
    
    
    // Add Your App
    app.use(express.static(__dirname));
    
    
    // CMS Config
    const config = {
        database: {
            host: 'localhost',
            user: 'cms_user',
            password: 'cms_pass',
            database: 'afoh_info_cms'
        },
        server: {
            httpPort: 8080,
            sslEnable: false
            // sslPort: 8443,
        },
        mail: {
            client: {
                auth: {
                    // user: "mail@server.com",
                    // pass: "mailmail"
                }
                // host: "mail.server.com",
                // port: 587
            }
        },
        session: {
            secret: "my-random-string-6d4b-48c8-9b3d-9c6bfd506057"
        }
    };
    
    // Add CMS middleware
    app.use(clevertreeCMS.getMiddleware(config));
    
    // Launch your server
    app.listen(config.server.httpPort, function() {
        console.log('Example app listening on port: ' + config.server.httpPort);
    });
    
    

    Run Server

    $ node myapp.js
    

    Install

    npm i clevertree-cms

    DownloadsWeekly Downloads

    2

    Version

    1.1.6

    License

    GPL-3.0

    Unpacked Size

    431 kB

    Total Files

    78

    Last publish

    Collaborators

    • protricity