LINUX GAZETTE DIRECTORIES AND FILES /home/lg -- Editor's home directory and issue preparation issue##/ -- The issue you're building. I -- Symlink to issue##/ for convenience. .bashrc -- sets path and PYTHONPATH etc. for LG build scripts .localsig -- Editor's signature for mail to @ssc.com .procmailrc -- Procmail configuration file .signature -- Editor's signature for external mail Backups/ -- vim's backup files. Mail/ -- Saved mail. firstname.lastname -- Stuff from authors you want to keep (not used much) proofreaders.new -- proofreaders who haven't been added to the Internal webpage yet sent -- all the messages you've sent (prune it down occasionally) spam -- spam caught by SpamAssassin tag-admin -- messages of long-term importance from tag-admin volunteers -- people who have volunteered to be proofreaders, etc admin/ -- miscellaneous text files authors -- symlink to /LG/www/authors, to view these as file: URL bin/ -- programs to help build LG can/ -- canned responses for e-mail inquiries data/ -- configuration files for LG build programs doc/ -- docs for third-party build software gx/ -- copy of /LG/www/gx/ so images work with file: URLs lg-build/ -- this directory lib/python/ -- Python libraries and Cheetah templates for LG build programs log/ -- mail logs orig/issue##/ -- raw originals of stuff we publish projects -- projects that have been deferred indefinitely src/ -- source of third-party build software unfinished/ -- unfinished articles /LG/ -- Staging server and public web server cgi-bin/ -- CGI scripts (mirrors, talkback, search) examples/ -- stuff no longer used but we might want to refer to deleted/ -- stuff we think we no longer want but aren't sure ftp -- symlink to /home/ftp/pub/lg (needed by ftpfiles.py) lg -- symlink to www (needed by ftpfiles.py to build the tarballs) scripts/ -- site-wide scripts; complements /home/lg/bin/ search/ -- probably can delete (old webglimpse search engine) templates/ -- may be used by build scripts, or may be obsolete unpushed/ -- empty, not needed? webdata/ -- stuff pulled from public webserver (not used) www/ -- Linux Gazette web site authors/ -- Generated by /home/lg/bin/authors ftpfiles.txt -- Generated by /LG/scripts/ftpfiles.py gx/ -- Images shared between issues. Old images are directly in the gx/ directory; newer ones are organized by year. htdig/ -- Search engine. index.html -- Generated by /home/lg/bin/frontpage issue*/ -- Each issue lg.rss -- Generated by /home/lg/bin/rss lg_index.html -- Generated by /home/lg/bin/sitemap mirrors.html -- Generated by a program Mike Orr has search.html -- ht://dig search engine [The other files/directories are static HTML.] /home/ftp/pub/lg/ -- Public FTP files README* -- public README files lg-*.tar.gz -- public tarballs www_root/ -- copy of /LG/www/ for mirroring and rsync'ing /home/ftp/pub/tag/ -- LG Editor can place files here (e.g., images, proposed changes) for preview by The Answer Gang ===== Build software ===== The build software is written in Python plus a few shell scripts. 1) Copy /home/lg/ to your build machine. 2) Install Python 2.2 or later and make a symlink from /home/lg/bin/python to it. 3) Install Cheetah from http://cheetahtemplate.sourceforge.net/ . Use "python setup.py install" to install, making sure the correct Python runs (e.g., "/home/lg/bin/python setup.py install"). 4) Install Optik and PyYaml from /home/lg/src/, or a later version from their home page. Again, "python setup.py install". Cheetah templates are /home/lg/lib/python/T_*.tmpl . Occasionally you'll have to modify a template. After modifying a template, run "cheetah compile DIRECTORY/FILENAME.tmpl", which creates FILENAME.py. See the Cheetah Users' Guide for info on templates, or ask Mike Orr. YAML is a data serialization format (a format for configuration files). For LG, each document is a list of "key: value" pairs. Multiple documents may exist in a file, with "---" on its own line before each document. Due to peculiarities in this version of PyYaml: - put at least *two* spaces after the ":". - do not use all-numeric values, or values in date format (YYYY-MM-DD) - use "~" for blank values (without the quotes)