A Python content management system designed for kirsle.net featuring a blog, comments and photo albums. https://rophako.kirsle.net/
Go to file
Noah Petherbridge 8a2d6a7c04 Refactor modules into a plugin-based system
All modules are now plugins. The config.py calls load_plugin for each
plugin it needs (some plugins may load others automatically). Also each
plugin keeps its own template folder which gets added to the template
search path, so i.e. if the photo plugin is unloaded completely, the URL
endpoints won't work either (with the old system, since the HTML
templates still existed in the default root the endpoints would still
serve pages, just without any Python logic behind them).
2014-07-23 14:21:53 -07:00
rophako Refactor modules into a plugin-based system 2014-07-23 14:21:53 -07:00
scripts Add endpoint to delete entire photo album 2014-06-20 19:37:48 -07:00
site/www Add dummy photo folder, so uploads won't crash 2014-04-09 22:18:30 +00:00
.gitignore Ignore local site uploaded images 2014-04-10 05:41:42 +00:00
Apache.md Typo fixes in Apache.md 2014-04-10 05:38:34 +00:00
app.wsgi Update uwsgi wrapper 2014-07-23 19:42:29 +00:00
config-sample.py Refactor modules into a plugin-based system 2014-07-23 14:21:53 -07:00
kirsle_legacy.py Refactor modules into a plugin-based system 2014-07-23 14:21:53 -07:00
LICENSE Make site root configurable for easier setup 2014-04-09 15:14:40 -07:00
README.md Update README 2014-04-10 05:40:36 +00:00
requirements.txt Add Markdown support to blogs, comments, pages 2014-04-18 21:55:37 -07:00
runserver.py Reorganize module structure 2014-07-23 12:39:58 -07:00

Rophako

A simplistic content management system designed for kirsle.net.

Rophako is Azulian for "website." Pronounce it however you like. I pronounce it "roe-fa-koe."

This project is currently in "beta" status. It is currently powering kirsle.net and a couple other small sites.

Check out Rophako's official homepage and example site: rophako.kirsle.net

Installation

pip install -r requirements.txt

These may need to be installed for the dependencies to build:

Fedora: libffi-devel libjpeg-devel libpng-devel

Server Configuration

Instructions and tips are currently available for the Apache web server. See Apache.md for information.

Copy the file config-sample.py as a file named config.py, and edit its contents to set up your site. It's very important that you change the SECRET_KEY variable, as this is used to sign the session cookies and prevent people from tampering with them. The config script is well-documented with comments explaining what all the options do.

Create the Admin User

Once the web app is up and running, navigate to the /account/setup URL to create the admin user account. Once the admin account has been created, the /account/setup path can't be used anymore. Additional user accounts can be created by the admin users at the /admin URL.

Building Your Site

Rophako has a dual templating system. When the Rophako CMS wants to render a template (for example, blog/entry.html), it will look inside your SITE_ROOT path first for that template, before falling back to the default site templates inside the rophako/www path.

All of the core features of Rophako (user account, blog, photo albums, comments, etc.) exist in the default site, so the CMS is already fully functional out-of-the-box. You can override files in the default site by putting files with the same name in your SITE_ROOT folder. For example, the default SITE_ROOT is set to the "site/www" folder in the git repo, and if you put a file at site/www/layout.html there, it will change the web design template for the Rophako site. A file at site/www/index.html will change the index page of your site away from the default.

Copyright

Rophako CMS
Copyright (C) 2014 Noah Petherbridge

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA