Skip to main content

A CMS optimized for low consumption

Project description

https://badge.fury.io/py/coldcms.svg https://readthedocs.org/projects/pip/badge/ https://gitlab.com/hashbangfr/coldcms/badges/master/pipeline.svg https://gitlab.com/hashbangfr/coldcms/badges/master/coverage.svg

Goal

A fully functional CMS optimized for low consumption.

Read blog posts about this.

Benchmark

Benchmark details to Coldcms

Description

ColdCMS is a Django project based on Wagtail CMS and Bulma CSS framework.

The admin can edit websites through an intuitive and user-friendly interface. Different types of pages are pre-designed, making it possible to have a nice-looking website without spending hours on it.

ColdCMS is especially designed for people who want to reduce the impact of their use of digital technologies on the environnement.

The client website consists of static pages, built with Wagtail bakery. The website pages are generated and updated when necessary (e.g. when the admin publishes or modifies content).

Among other optimizations, the size of CSS files is reduced and unused CSS code is removed, using PurgeCSS and clean-css.

The database is managed with PostgreSQL.

ColdCMS supports Python >= 3.6.

How to use ColdCMS?

  • You have access to a ColdCMS instance and you want to create a website:

    You can find the user documentation here:

  • You want to install ColdCMS:

    You have two options: docker installation or manual installation.

    1. Docker installation

      Make sure docker is installed and the daemon is running.

      The following command will:

      1. remove all running instances of the project

      2. build new images based on the modifications you’ve made

      3. run the project in a production-like environment

      production/clean.sh && production/build.sh && production/run.sh
    2. Manual installation

      Install ColdCMS with pypi:

      pip install coldcms

      Run the quick launch command:

      python -m coldcms

      Before this command you can set the following environment variables :

      • RUN_DJANGO_MIGRATION=0: do not run the migrations

      • SETUP_INITIAL_DATA=0: do not setup the initial data, in case you want to keep the data you already have in your coldcms database

      • CREATE_SUPERUSER=0: do not create a new superuser (you can have several superuser at a time, but not with the same username or email)

      Example : CREATE_SUPERUSER=0 python -m coldcms will run the migrations, setup some new initial data, but will not create a new superuser.

  • You are a developer and you want to contribute to ColdCMS

    Clone the gitlab repository, and read the Dev section below to install the ColdCMS development environment.

    Follow the contribution guidelines.

Dev

Install libjpeg and zlib, needed to work with images through the Pillow library, and also install postgis for geographic object support. If you have Ubuntu, use the following commands:

sudo apt-get install zlib1g-dev
sudo apt-get install libjpeg-dev
sudo apt-get install postgis

Also, please install PurgeCSS and clean-css:

npm install -g purgecss@2.1.0 clean-css-cli@4.3.0

And to continue with javascript, please install static dependences :

(cd coldcms/static/ && npm i --save-dev)

Also check that you have sass installed. For example, use the command:

sudo apt install ruby-sass

Then you can install the dependencies and launch the development server:

pip install -r requirements_dev.txt
createdb coldcms # create a postgres database
./manage.py migrate
./manage.py collectstatic
./manage.py createsuperuser
./manage.py runserver

Optionally you can also import some initial data in your app:

./manage.py setup_initial_data

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coldcms-0.1.0rc2.tar.gz (31.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page