MDWeb is painstakingly designed to be as minimalistic as possible while taking less than 5 minutes to setup and less than a minute to add content.
This project was borne out of my frustration with maintaining websites and adding content. I'm a firm believer in the ethos that CMS is an evil that should be rid from this world. I spent years fighting horrific battles with enemies such as Drupal, Wordpress and Joomla. The things I saw during those dark days can not be unseen.
After years of battle, this weary web developmer built himself a tiny oasis. This is MDWeb, I hope you find respite in it.
You can see a live demo of MDWeb here: http://mdweb.chadrempp.com/
- Python 2.7 or 3.x
- Virtualenv (optional, highly recommended)
Forking for your own site
The suggested method for using MDWeb and also tracking any udpates you make for your own site is to fork the MDWeb repository. Any changes you make will be commited to your personally forked repository and you'll be able to pull down upstream changes by following the procedure outlined here How to update a GitHub forked repository?
- Fork the Github repository.
- Clone your forked repository on your local machine.
- Go into the directory
$ cd mdweb
- Setup a virtual environment and activate
$ virtualenv env $ source ./env/bin/activate
- Install requirements
$ pip install -r requirements/development.txt
- (Optional) Copy
sites/<<NameOfYourSite>>.py. Inside the copied file rename the class to match the file name - for example if you call the file
JoesSite.pythe class should be named
JoesSite. If you choose not to copy to a new file continue to the next step using
$ cp sites/MySite.py sites/JoesSite.py $ nano sites/JoesSite.py # Edit the class name and config as described above
- (Optional) Create a new theme for your site in the
themesdirectory. If you add a new theme remember to update the THEME config value in the next step.
- Update the config attributes in the site class, specifically
CONTENT_PATH(I suggest using the provided, empty,
demo-contentdirectory is provided with example content to get you started. Add your content to the content directory defined.
- Run the application. The dev_server script has one required parameter which is the site class name. If you copied the site file in step 6 the site name will be the name you used in that step (
JoesSite) otherwise it will be the default site name
$ ./bin/dev_server JoesSite
Now visit http://127.0.0.1:5000 and you should see your site.
- Setup - How to get MDWeb running locally or in Docker either in development or production environments
- Basic Usage - How to use MDWeb to host your site
- Development - How to build themes and plugins for MDWeb
- Reference - API and core framework reference
- Contributing - How to report bugs and contribute to the development of MDWeb
MIT © Chad Rempp
Some portions of MDWeb uses other F/OSS content. Below is a sourced list of content used in MDWeb.