Giter Site home page Giter Site logo

material-cms / material-cms Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 2.0 8.82 MB

Material CMS - Ultra fast CMS with material design & reusable widgets.

Home Page: https://material-cms.com/

License: Other

JavaScript 64.14% Shell 1.13% HTML 23.15% Dockerfile 0.03% Less 11.55%
apostrophe cms-framework javascript material-cms material-design materialize-components materializecss nodejs

material-cms's Introduction

Logo

Material CMS

The ultimate website builder for everyone from self-employed to business or enterprise, Material-CMS is easy to use, fast, secure. You can present content in extremely diverse ways, through its reusable content. No templates needed redesign your website in minutes without losing the speed of a static page.
Website

Demo · Report Bug

Material CMS

  • Ultra fast
  • Secure
  • Business ready
  • Lighthouse maximum
  • Easy to use
  • Extremely versatile
  • Realtime JS
  • Extensible through plugins
  • Developer friendly
  • Galleries with JQuery append AJAX

Google Lighthouse

Screenshot

Compatible Plugins Apostrophe

You can use all plugins from apostrophe cms

Apostrophe CMS Extensions.

Installing instructions

Install Dependencies

  • git
  • nodejs 16.x or higher
  • redis-server
  • mongodb
  • imagemagick
# clone repository
git clone https://github.com/felixlberg/material-cms
# cd into the new project
cd material-cms
# Install dependencies
npm install
# Copy local.example.js to data and add a individual session secret to be able to login
cp local.example.js data/local.js
# Replace USERNAME with your individual name and add it to admin group; prompts for password
node app.js apostrophe-users:add USERNAME admin
# Go go go!
npm start
# Open Browser "http://localhost:3000/login" to login with your user to add content

Production

For server specific changes add the file data/local.js. You will find an example under local.example.js in root directory.

# Copy file
cp local.example.js data/local.js

Change baseUrl and add a session secret. Modify the file accoring to your wishes, remove modules that you don't need:

// Settings specific to this server. Change the URL
// if you are deploying in production.
module.exports = {
  baseUrl: 'http://localhost:3000',
  modules: {
    // Minify Html
    'apostrophe-templates': {
      minify: (process.env.ENV === 'prod') // minify: true
    },
    // Minify Assets
    'apostrophe-assets': {
      minify: (process.env.ENV === 'prod') // minify: true
    },
    // Set a Secre for your Session
    // https://docs.apostrophecms.org/howtos/storing-sessions-in-redis.html#what-about-caches
    'apostrophe-express': {
      session: {
        secret: 'YOUR_SECRET'
      }
      // use other port than 3000
      // port: 3001
    },
    // Email Settings for nodemailer
    'apostrophe-email': {
      nodemailer: {
        host: 'SMTP_SERVER', // or use: process.env.SMTP_SERVER
        port: 587,
        secure: false,
        auth: {
            user: 'SMTP_USER', // or use: process.env.SMTP_USER
            pass: 'SMTP_PW' // or use: process.env.SMTP_PW
        }
      }
    },
    // Apostrophe has full-text search capabilities built set searched pages here
    // https://docs.apostrophecms.org/core-concepts/apostrophe-search/search.html
    'apostrophe-search': {
      // types: [
      //   'home'
      // ]
    },
    // Add parked page for search functions. Parked pages
    // configures certain pages to be automatically created
    // and refreshed whenever the site starts up.
    'apostrophe-pages': {
      // park: [
      //   {
      //     title: 'Search',
      //     slug: '/search',
      //     type: 'apostrophe-search',
      //     label: 'Search',
      //     published: true
      //   }
      // ]
    },
    // If these are your db settings then you don't need to be explicit. If not
    // you can uncomment this and get more specific.
    'apostrophe-db': {
      // uri: 'mongodb://localhost:27017/apostrophe-sandbox'
      // There is legacy support for host, port, name, user and password options,
      // but this is not necessary. They can all go in the uri option like this:
      // mongodb://user:password@host:port/dbname
    }
  }
};

Development

Materialize components ES6

Materialize is written in ECMAScript 6. The version of Uglify in use in Apostrophe 2.x does not necessarily support ES6 syntax! So if you want to add new materialize components you need to run npm build in project folder and copy the desired files from the created build folder to lib/apostrophe-assets/vendor/materialize/components.


For documentation on Apostrophe CMS, visit Apostrophe CMS.

For more infos about Materialize , visit Materialize.

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.