Firedrop is a client side weblog creation and web article collection content
management system. It is open source and written in Python by Hans Nowak.
It is cross platform and runs on Windows, Linux, Mac OS X and most Unix like
This Mini How-To is meant to take you step by step through the installation
and first use of Firedrop. if you have any questions, please don't hesitate
to ask them at http://pub38.ezboard.com/bawaretek
Installation and pre-requisistes: You must have installed
Python, wxPython, and wax before you install firedrop2. See the links at
the bottom of this document for the locations of these files. While firedrop
should work with any recent version of Python, be sure you install the latest
versions of wxPython and wax. At the time of this writing the latest version
of wxPython is wxPythonOSX-188.8.131.52 and the the latest wax is wax-0.1.45.
The wxPython, wax and firedrop2 folders must be placed in the Python site-packages
folder. On Windows, this will probably b in C:\Python 23\Lib\site-packages.
In Mac OS X, this will be in something like /Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages.
Do not guess at this stage, these folders must be in the site-packages directory
in order to work.
Wax is a Hans Nowak open source project that sits atop the cross platform
wxPython and is used to write firedrop2's GUI front end. I have installed
and used Firedrop2 on both Windows XP and on Mac OS X 10.3, and I see no
reason why anyone should have any problems on any Linux or BSD system. On
most systems, the wxPython, wax, and firedrop2 download should be in a zip
or otherwise archived file that will be unpacked by your system tools more
or less automatically, you just need to tell your machine which directory
to put them into (site-packages). One other important point: the wax and
firedrop 2 folders that you place in your site-packages directory must be
named exactly that, wax and firedrop2. if the folders you unpack include
version numbers, or anything else, you must rename them to simply wax and
firedrop2, because the firedrop programs look for those folder names and
will not work otherwise. Note that the firedrop2 folder will not work if
it is called firedrop; it must be named firedrop2.
So, to summarize, install in this order, Python, then wxPython, then wax,
then firedrop2; and make sure wxPython, wax, and firedrop2 are all in your
Opening the firedrop GUI from the firedrop2 folder: Inside
the firedrop2 folder that is now in your site-packages directory, you will
find a few dozen python programs. The only one you must concern yourself
with is the wxfiredrop.py program. Run this program, wxfiredrop.py, either from
the command line or by double clicking on it in your file browser. This opens
up the firedrop GUI that looks like this on MAC OS X:
Note that on Windows, the title bar that sits atop the whole Mac screen is
integrated into the main firedrop2 GUI frame; this title bar includes the
drop down menus " File, Edit, Format, Window, and Help". Below this you will
find a row of buttons labeled "Open, New, Save, Build, Preview, Upload, and
One-Click." Also, on Windows, the buttons will be rectangular instead of
oval (pill-shaped) on the Mac.
Create a weblog or article collection folder: Now, using
your system tools, create a new folder to hold your weblog or article collection.
This folder can be anywhere you want it, just remember where you put it ;-))).
let's say you create a new, empty folder called weblog in your desktop directory.
Then, manually, create a new empty folder inside your weblog folder and name
it weblog_html. This folder will be used to hold your actual weblog html
Now, on the firedrop2 title bar, click "File" and a drop down menu appears
giving you a choice between "new site" and "open site". Click on "new site"
and a dialog box opens. You must choose between creating an ArticleCollection
or a Weblog. Let's say you chose "Weblog". Then you must choose a directory,
and let's say you choose the new folder (directory) called "weblog" that
you just created. Click OK and firedrop2 will fill-in your weblog folder
with the files build.ini, build.py, page_template.html and entry_template.html.
Build.ini will look something like this:
archive_method = "d:7"
page_template = 'page_template.html'
entry_template = 'entry_template.html'
num_front_page = 20
frontpage_name = 'index.html'
root_url = 'http://www.awaretek.com/weblog/'
categories = ["philosophy", "general", "firedrop", "python", "poetry"]
description = ""
ftp_server = 'awaretek.com'
ftp_login = 'awaretek%awaretek.com'
ftp_port = 21
ftp_password = 'XXXXX'
ftp_startdir = '/usr/local/apache/htdocs/weblog'
rss_filename = 'index.xml'
macro_filename = 'macros.py'
blogping = 0
You should open the file build.ini and fill in the root url of the website
you will use for your Blog, as well as the categories you will use to order
your posts (you can leave this blank for now, if you want), and the ftp information
for firedrop's automatic uploader.py program to find your web site and login,
including your site password. If you build an ArticleCollection, your build.ini
will look very similar and you must add the same kind of information.
Now, if you look at the file page_template.html you will see the default
setup for how your blog page will look. This can and should be customized
by you to be whatever you want.
Open weblog Now, using your firedrop GUI, click on the
"Open" button. This will open up a file browser and you should navigate to
the 'weblog" folder you recently created and that was populated with build.ini
etc. by firedrop2. Upon accepting and choosing the "weblog" folder or directory,
firedrop will "open" it, but it is still "empty" of any actual blog
posts. The blog post titles, as you create them, will appear in the vertical
rectangular window on the left; the actual post you are working on will be
typed into the larger window on the right.
Create a New Post: Now, click on the "New" button.
On the top of the blog post window, above the two -- dash lines, will appear
two attributes, insert_date and modified_date. These two attributes are self
explanatory. You can add any new attributes you want! This is one of the
best features of Firedrop. For instance, most folks will want to create a
categories attribute, and in fact you may recall that your build.ini already
has a Python list called categories. If you add a string "poems' to your
build.ini categories list, then you can add an expression categories="poems'
above the two -- dashed lines in your blog post window.
Below the two -- dashed lines, you will see one line saying "New". Erase
this line and insert instead your own Title of choice for this blog post.
Let's say you choose "Hello World".
Now, for entering the main text of the blog post, you have two choices (actually
more are available, but I am only going to cover two). First, you can just
hit the return key twice and, starting on the second line below "Hello World"
you can just type plain text. In this mode, you can also use HTMl tags, such
as paragraph tags to set off separate paragraphs, and Some
URL to set up web links.
The second alternative is to use Hans Nowak's sextile format. In order to
do this, after typing in your blog post title "Hello World", immediately
hit the return button and then type % below the "Hello World" title line,
and then hit the return key twice (do not even hit the space bar after typing
% before you hit the return key twice). Your blog post window should look
Main body of blog post text here...
I recommend using sextile, and I almost always do. The first difference you
will notice (and appreciate) when using sextile is that you will not need
to use the paragraph tags to offset paragraphs. Instead, you can just hit
the return key twice to separate two paragraphs with a line of white space,
just like you do in a normal text editor. You can still use regular html
tags under sextile. There are many other features for ease of use in
sextile and you are encouraged to read Han's docs on sextile on his web site.
Whether you use sextile or not, you also will have available a powerful feature
called "macros" to simplify the creation of blog posts. You are encouraged
to read Hans' docs on Macros on his web site. Macros essentially allow you
to define your own ease-of-use custom features.
Saving and Building and Uploading: Once your new post is as you
want it, you click on the "Save" button and then on the "Build" button. You
must click on these two buttons in the proper order, first "Save" and then
"Build". "Save" saves a file of the form 00001.fd2 in your weblog folder.
if you are saving your 100th post, the file saved will be 00100.fd2. When
you click on the "Build" button, the program build.py (in your firedrop2
folder in your site-packages directory) will be run. build.py will use your
build.ini file and will use the page_template.html file and the entry_template.html
file to use your 00001.fd2 file to create an html file called index.html
in your weblog_html folder. Recall that you created an empty folder called
weblog_html and placed it in your weblog folder. This index.html file is
your weblog. (If we had been creating an ArticleCollection, the process would
have been the same but the file created by build.py would be given its own
Now, you can click the "preview" button if you like to see what your blog
post html (or your new article) will look like. Then you must click the "Upload"
button to run the python script uploader.py, which uses the information you
supplied to build.ini to log into your web site using ftp and upload the
newly revised weblog (or new web article) to your web site.
There is also a button called "One Click" on the firedrop2 GUI, but I do
not use it. One click will automatically do the whole sequence in order,
save, then build, then upload. i find it safer and more helpful to do them
one step at a time.
There is also a "Preview" button, that when clicked automatically opens up
the created html file in your browser, in order for you to make sure it is
as you want it before you upload it.
Since firedrop is open source and in Python, you can also do most of these
things from the command line rather than from the GUI. Doing stuff from the
command line is good because it helps you to see more of what goes on behind
the scenes, and may give you ideas for future use.
On Windows XP, I have found everything to work perfectly. On Mac OS X 10.3,
the only two features I have had trouble with are the "Preview" button, which
I don't use any way (one can always click on the index.html file to open
manually to preview); and the uploader.py script, which I think is a problem
between my Mac and my website. At any rate, I use an ftp program manually
from the command line to upload my files to my website.
However you have done it, now you have accomplished something!
Final Comments: There is of course a lot more you can
do with Firedrop. Keep in min that tis is written in Python and is pen source,
adn you can add features and customize two you hearts content. You can also
explore the code and se how everything works. meanwhile, Hans is still coding
away and adding features, so thing may change. keep is touch with his web
log at http://www.zephyrfalcon.org/weblog/ fro future developments. And,
if you have any questions about Firedrop or these docs, please ask them at
Hans Nowak's Documentation
page for Firedrop, wax, sextile etc.
Hans download page
for firedrop, wax etc.
Python 2.3 download page
printable HTML version of this Firedrop2 mini How-To