|
From: will <wi...@bl...> - 2009-08-03 17:50:40
|
With PyBlosxom 1.5 (I really should just release what I have as a
release candidate or something--my apologies), starting a new blog is a
one-liner:
% pyblosxom-cmd create ./blog
That generates a basic folder structure, a config.py file, a
pyblosxom.cgi file and a blog.ini file. The blog.ini file is used by
Paste. So after doing the above line, you can do:
% cd ./blog
% paster serve blog.ini
and your blog is running locally with Paste. Previous versions of
PyBlosxom have bits of this, but it's much easier with 1.5.
Under the hood, Paste is using the PyBlosxomWSGIApp class in
Pyblosxom/pyblosxom.py . Writing a basic local server should be pretty
easy. If you're interested, send in a patch based on trunk. I know
Python 2.6 has a wsgiref module that has a make_server function that
should make it really easy.
In regards to adding draft-based functionality, I'm resistant to adding
more functionality to PyBlosxom. I'm sure there are great reasons for
adding feature x to PyBlosxom, but at a bare minimum, it should be
tested out with plugins first.
I'm a +1 on people sending in documents on "my blog does xyz and this is
how I set it up". I'd love to add these "setup recipes" to the
documentation. If anyone is interested in writing a "setup recipe", let
me know.
/will
seanh wrote:
>> Oh, don't set up a local Apache server--that's pretty intense. Using Paste
>> will allow you to run PyBlosxom locally. That's what I use.
>
> Thanks. I got paste working. So with this I can preview my drafts
> locally before pushing them to my server, and on the server I can use
> either static rendering or CGI.
>
> It might be cool if pyblosxom shipped with paste integrated, so that
> instead of having to configure and install everything I could just run
> a simple command like pyblosxom --server and it would run my blog in
> paste.
>
> So here are some use-cases related to drafting, there are loads of
> ways you could do this:
>
> 1. Write drafts locally, preview them with paste, run static
> rendering and publish the static HTML to a server.
>
> 2. As 1 but push the raw text files to the server and let the server
> do the static rendering (e.g. run static rendering as a post-commit or
> post-sync hook on the server).
>
> 3. As 2 but run pyblosxom on the server in CGI mode, no server-side
> hook needed.
>
> 4. Don't have pyblosxom installed locally, run it in CGI mode on the
> server, use the accidental drafts category behaviour to preview
> drafts.
>
> 5. Don't have pyblosxom installed locally. Run it in static rendering
> mode on the server. Have a separate config.py for drafts that uses the
> drafts dir as the datadir and statically renders to an htaccess
> protected drafts dir.
>
> All in all, I think it can be done one way or another in almost any
> situation, but I think it would be nice if drafting were more
> integrated into pyblosxom to make it less awkward.
|