ThemesAnatomy

From SoylentNews
Revision as of 20:55, 20 February 2014 by 50.45.172.110 (talk)
Jump to navigation Jump to search

Notes

There are currently three themes in slash/themes:

slashcode - seems to be primary theme used.
slashcode.com   - the slashcode.css used seems to be here. Also ostnavbar.css see below.
useperl -  have not see this referenced so far.

Apparently these are mixed in use, as the links in site/slashcode.local/htdocs point to different places:

 admin.css -> /usr/local/slash/themes/slashcode/htdocs/admin.css
 base.css -> /usr/local/slash/themes/slashcode/htdocs/base.css
 comments.css -> /usr/local/slash/themes/slashcode/htdocs/comments.css
 handheld.css -> /usr/local/slash/themes/slashcode/htdocs/handheld.css
 ostgnavbar.css -> /usr/local/slash/themes/slashcode.com/htdocs/ostgnavbar.css
 print.css -> /usr/local/slash/themes/slashcode/htdocs/print.css
 slashcode.css -> /usr/local/slash/themes/slashcode.com/htdocs/slashcode.css
 slashcode_lite.css -> /usr/local/slash/themes/slashcode/htdocs/slashcode_lite.css
 slashcode_low_bw.css -> /usr/local/slash/themes/slashcode/htdocs/slashcode_low_bw.css
slashcode/
 THEME - seems to be a list of ll the parts of this theme
 htdocs/
   404.pl        badge.pl         images            robots.txt             topics.pl
   about.shtml   base.css         imgupload.pl      shtml.pl               users.pl
   admin.cssraw  comments.cssraw  index.pl          slashcode.cssraw       users2.pl
   article.pl    comments.pl      moderation.shtml  slashcode_lite.cssraw
   authors.pl    handheld.cssraw  ok.txt            slashcode_low_bw.css
   badge.js      help.pl          print.css         slashguide.shtml
 misc/
   spamarmors - regex code or sed code to add NOSPAM etc to email addresses
 sql/
   postgresql - not usable, but must exist.
   mysql
     prep.sql 
       # $Id$
       UPDATE stories SET time = DATE_ADD(NOW(), INTERVAL -2 DAY) WHERE sid = '00/01/25/1430236';
       UPDATE stories SET time = DATE_ADD(NOW(), INTERVAL -1 DAY) WHERE sid = '00/01/25/1236215';
       UPDATE discussions SET flags = 'hitparade_dirty';
     datadump.sql - appears to be the sql table iitialization used at install time for this theme
       Contains stuff like:
         # Dumping data for table 'comment_text'
         INSERT INTO comment_text (cid, comment) VALUES (1, 'This is the first post put into your newly
         installed Slash System.  There will be many more.
 tasks/
 templates/

Official docs for themes from docs/HOWTO-Themes.pod

HOWTO-Themes - How to write and use Slash themes

=head1 QUESTIONS

=head2 What is a theme?

A theme is a website design. It can have some functionality
to it (for example, the slashcode theme is a weblog). Functionality,
though, is normally split into seperate plugins.

=head2 How do I get my theme into the install system?

There are two ways to do this. First, you can put it in the
themes directory with the distribution. During the install it
will be copied to the themes directory (by default,
F</usr/local/slash/themes/>. The second option is to copy it in there
yourself. The directory layout is very important with themes.
The install expects to find a sql directory with a mysql and postgresql
directory in it. It expects a templates directory with templates in it and
finally it expects an htdocs directory. It copies files 
directly from htdocs to the install's directory.
Look at the slashcode theme as an example.

=head2 What does my theme need to make it work with the install?

Just the directory structure explained above. Right now there
is no THEME file like there is a PLUGIN file for PLUGINS.
Expect this to change at some point in the future.

=head2 I have a really cool theme and I would like to see it added to the Slash
distribution. Will you distributed mine?

Maybe. We don't have any rules concerning this at the moment, so it will be
on a case by case basis. At some point in the future we will come up
with a much better answer.