Description
Business Class Content Management For Node.js:
More than just a development framework, PencilBlue is a fully featured, content management platform, designed with enterprise grade websites in mind. Whether itโs internationalization, multi-site hosting, or scalable cloud deployments, this open source platform has the built-in tools your company needs.
Scale With The Cloud:
With built-in server cluster management, that's configurable for elastic cloud deployment, PencilBlue is out-of-the-box ready for your most intense dev-ops needs.
Build With Plugins:
PencilBlue was designed, from the ground up, to be customized with plugins that utilize npm and the cloud. The platform will automatically manage your dependencies throughout your server cluster
Multisite Hosting:
One installation of PencilBlue can host multiple websites, each with their own domain name or sub-domained from your main URL. Sites can be managed right from within PencilBlue's admin panel.
Internationalization:
With full support for content localization, including language based routing, your PencilBlue websites will be able to meet the needs of all your international customers
PencilBlue alternatives and similar modules
Based on the "Content Management Systems" category.
Alternatively, view PencilBlue alternatives based on common mentions on social networks and blogs.
-
Strapi
๐ Strapi is the leading open-source headless CMS. Itโs 100% JavaScript/TypeScript, fully customizable, and developer-first. -
Apostrophe2
A full-featured, open-source content management framework built with Node.js that empowers organizations by combining in-context editing and headless architecture in a full-stack JS environment. -
Tipe
DISCONTINUED. ๐ Next Generation API-first CMS for developers. Generate an API-first CMS from a GraphQL schema with offline prototyping and an inline editor -
Calipso
DISCONTINUED. Calipso is a simple NodeJS content management system based on Express, Connect & Mongoose. -
Factor
(Join Waiting List) Personal Marketing Platform. A powerful platform for your online identity. -
ApostropheCMS
Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB.
CodeRabbit: AI Code Reviews for Developers
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of PencilBlue or a related project?
README
PencilBlue
A full featured Node.js CMS and blogging platform (plugins, server cluster management, data-driven pages)
First and foremost: If at any point you have questions, comments or concerns you can find us hanging out on twitter @getpencilblue and on our subreddit. We're always happy to help and pull requests (plugin or core) are always welcome.
The first open source content management system to meet all the needs of a modern website:
- Full blogging capabilities, out of the box
- Relational data creation and management, through the admin interface
- An expansive plugin framework that allows for modification of even core platform functionality
- Designed for the cloud, with built in support for server clustering and high availability websites
- Built in support for some of the latest and most popular web technologies, including MongoDB, Redis, Bootstrap, AngularJS, and jQueryUI
- 100% mobile ready through responsive web design
- Touch friendly, drag and drop website management experience that's easy for non-technical users to learn
Read the Quickstart Guide
Installation
The instructions below assume that Node.js [0.11, 6] and MongoDB [2, 3) are installed on your machine. If they are not then please visit http://nodejs.org and http://www.mongodb.org to install them.
PencilBlue Command-line interface
- Install the pencilblue-cli module:
sudo npm install -g pencilblue-cli
- Run
pbctrl install [directory]
where [directory] is the directory you want PencilBlue to be installed to. - Follow the install instructions
- After the installation is done,
cd
into the folder where you installed PencilBlue - Run
pbctrl start
Manual installation
- Clone the PencilBlue repository
cd
into the cloned repository's folder- Run
npm install
to retrieve PencilBlue's dependencies. Depending on your system access privileges, you may have to runsudo npm install
- (Optional) Install Redis for caching
- (Optional) Create a custom configuration file using the provided
sample.config.js
. The file can reside in two places: within the root folder of your installation asconfig.js
or at/etc/pencilblue/config.js
. The installation root takes precedence. If running all services locally, no configuration file is needed, but a configuration file is necessary for overriding specific settings. - Start PencilBlue. You can simply run
node pencilblue
, but we recommend using nodemon for development and forever for production. Nodemon will restart PencilBlue on file changes and forever will ensure that PencilBlue is always running. ``` # development nodemon pencilblue
OR
# production sudo forever start pencilblue.js
7. Navigate to the site root you specified in a configuration file or http://localhost:8080 by default.
##### Roadmap
**0.5.0 Release:**
Target Date: Mid-December 2015
New Features:
* Multisite support
* #501 - Route localization
The full list can be found [here](https://github.com/pencilblue/pencilblue/milestones/0.5.0).
Features in progress:
Check out our [Waffle](https://waffle.io/pencilblue/pencilblue) board.
##### Help & Support
Aways start with our wiki or [code level documentation](http://pencilblue.github.io/). The source never lies. Additionally, always feel free to leave questions on our issues page or reach out to us on Twitter at [@GetPencilBlue](https://twitter.com/GetPencilBlue).
**Submitting Issues:**
When submitting an issue or request for help please provide the following information.
1. Step by step instructions to reproduce
2. Configuration overrides (minus any credentials)
3. Environment details: Linux, windows, hosting provider, local, etc.
4. Log output. Set your logging.level configuration property to "silly".
**Submitting a Pull Request:**
1. Provide a detailed description of what changed.
2. Reference any related issues by number so they can be tracked and linked back to the PR.
3. Document any new functions so they show up in our auto-generated documentation
4. Create tests for any new functionality
5. RUN ```npm test```
6. Bug fixes should be merged to master & features should be merged to the next release branch