Simple blogging platform. Built with Python, atop Vilo (framework) and PogoDB (nosql).
ViloLog is a bit like Jekyll, but backed by a database, not the file system.
Install via pip:
pip install vilolog
ViloLog builds a pure WSGI application. To run that application, you'll need Waitress, Gunicorn or another WSGI server. We recommend using Waitress, with Hupper for development:
pip install waitress hupper
Pass a Postgres connection string to vilolog.buildApp(.) to create your blog.
Create module blog.py:
import vilolog;
app = vilolog.buildApp("postgres://...dsn..");
wsgi = app.wsgi;Above, app is a Vilo app-container, and wsgi is the corresponding pure-WSGI callable. To run wsgi via Waitress atop Hupper:
hupper -m waitress blog:wsgi
Or without Hupper:
python -m waitress blog:wsgi
Hupper is useful for development and testing, but needn't be used in production.
Once running, visit localhost:8080/_setup in your preferred browser to complete setup.
After completing setup, you should be able to login to your blog. By default, you can log in by visiting /_login; but this can be configured via .buildApp(.)'s loginSlug parameter, documented below.
vilolog.buildApp(.) accepts a number of parameters, only the first of which is required:
pgUrl(required, str): Postgres connection string.blogId(optional, str): Useful if you have multiple blogs.blogTitle(optional, str): Self explanatory.blogDescription(optional, str): Self explanatory.footerLine(optional, str): Footer attribution line.cookieSecret(recommended, str): Secret for signing (authentication) cookie.antiCsrfSecret(recommended, str): Secret for signing anti-CSRF token.blogThemeDir(optional, str): Path to custom theme directory. (More on this later.)_adminThemeDir(Non-recommended, str): Path to custom theme directory for the backend-admin UX.devMode(optional, bool, default:False): Enable during development to prevent caching etc.redirectMap(optional, dict): Mapping from source path to target path.loginSlug(recommended, str, default:"_login"): The URL-slug for the login-page for admins. Must begin with"_login"and may only contain word characters, matchingr'\w+'.disableRemoteLogin(recommended, bool, default:False): If truthy, admins must login via localhost only.remoteNetlocList: (optional, list of str): List of valid remote netlocs that the blog expects to run at. (Doesn't affect localhost.)remoteHttpsOnly(recommended, bool, default:False): If truthy, HTTPS will be enforced, except on loclhost.
Note: While only pgUrl is required, we recommend explicitly passing each parameter that's labelled as 'recommended' above, even for picking default values.
ViloLog is currently in a nascent stage. As work progresses, we'll be adding docs, screenshots, theming, etc.
Copyright (c) 2020 Polydojo, Inc.
Software Licensing:
The software is released "AS IS" under the GNU GPLv3+, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. Kindly see LICENSE.txt for more details.
No Trademark Rights:
The above software licensing terms do not grant any right in the trademarks, service marks, brand names or logos of Polydojo, Inc.