项目作者: Material-CMS

项目描述 :
Material CMS - Ultra fast CMS with material design & reusable widgets.
高级语言: JavaScript
项目地址: git://github.com/Material-CMS/material-cms.git
创建时间: 2018-03-29T17:39:39Z
项目社区:https://github.com/Material-CMS/material-cms

开源协议:Other

下载




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
  1. # clone repository
  2. git clone https://github.com/felixlberg/material-cms
  3. # cd into the new project
  4. cd material-cms
  5. # Install dependencies
  6. npm install
  7. # Copy local.example.js to data and add a individual session secret to be able to login
  8. cp local.example.js data/local.js
  9. # (Optional) Start mongodb and redis with docker for development purposes
  10. npm run dev:docker:up
  11. # Replace USERNAME with your individual name and add it to admin group; prompts for password
  12. node app.js apostrophe-users:add USERNAME admin
  13. # Go go go!
  14. npm start
  15. # 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.

  1. # Copy file
  2. 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:

  1. // Settings specific to this server. Change the URL
  2. // if you are deploying in production.
  3. module.exports = {
  4. baseUrl: 'http://localhost:3000',
  5. modules: {
  6. // Minify Html
  7. 'apostrophe-templates': {
  8. minify: (process.env.ENV === 'prod') // minify: true
  9. },
  10. // Minify Assets
  11. 'apostrophe-assets': {
  12. minify: (process.env.ENV === 'prod') // minify: true
  13. },
  14. // Set a Secre for your Session
  15. // https://docs.apostrophecms.org/howtos/storing-sessions-in-redis.html#what-about-caches
  16. 'apostrophe-express': {
  17. session: {
  18. secret: 'YOUR_SECRET'
  19. }
  20. // use other port than 3000
  21. // port: 3001
  22. },
  23. // Email Settings for nodemailer
  24. 'apostrophe-email': {
  25. nodemailer: {
  26. host: 'SMTP_SERVER', // or use: process.env.SMTP_SERVER
  27. port: 587,
  28. secure: false,
  29. auth: {
  30. user: 'SMTP_USER', // or use: process.env.SMTP_USER
  31. pass: 'SMTP_PW' // or use: process.env.SMTP_PW
  32. }
  33. }
  34. },
  35. // Apostrophe has full-text search capabilities built set searched pages here
  36. // https://docs.apostrophecms.org/core-concepts/apostrophe-search/search.html
  37. 'apostrophe-search': {
  38. // types: [
  39. // 'home'
  40. // ]
  41. },
  42. // Add parked page for search functions. Parked pages
  43. // configures certain pages to be automatically created
  44. // and refreshed whenever the site starts up.
  45. 'apostrophe-pages': {
  46. // park: [
  47. // {
  48. // title: 'Search',
  49. // slug: '/search',
  50. // type: 'apostrophe-search',
  51. // label: 'Search',
  52. // published: true
  53. // }
  54. // ]
  55. },
  56. // If these are your db settings then you don't need to be explicit. If not
  57. // you can uncomment this and get more specific.
  58. 'apostrophe-db': {
  59. // uri: 'mongodb://localhost:27017/apostrophe-sandbox'
  60. // There is legacy support for host, port, name, user and password options,
  61. // but this is not necessary. They can all go in the uri option like this:
  62. // mongodb://user:password@host:port/dbname
  63. }
  64. }
  65. };

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.