Menu Close

Howto use cd2browse

Name:
   cd2browse - create browsable menus out of directory structures.
   index is a part of cd2browse and can run from the command line. If you start 
   cd2browse instead, a GUI menu will be started where you can set the command
   line options for index.pl which then runs in the background.

Version: 1.05

Synopsis:
   index -p <path to index> [-n -m -t -s -i -x -r -q -v]

Description:
   index is a command line tool, to create html menues out of directory
   trees mostly used on CDs and DVDs it also indexes all files and provides a
   java script search engine for full text search.

Preperation:
   befor you start to process a directory, you should consider the following.

   cd2browse creates several files and subdirectories inside the document root -
   means in the directory you start processing. All subdirectories in the tree
   will be scanned by cd2browse and the html results are written to the document
   root directory and special subdirectories. All files, necessary to use the
   html menues are written to the document root directory (given by the -p option).
   Files in the root directory itself are not indexed and processed. Just sub-
   folders are recognised from the root. Above root also ordinary files are read
   and indexed.

   For each file in the file tree a line in the belonging html menu(s) will be
   written. There are three possibilities to create the title of a file:
   The highest priority has the .htaccess file in each directory. The .htaccess
   file is a standard on apache web server and cd2browse uses the same syntax.
   If a line in the .htaccess file refers to a file in the directory, this title
   has priority and will therefore be taken for the menu. Example:

   AddDescription "The description of how to use cd2browse" cd2browse_use.txt

   The above line in .htaccess will show a longer description than just
   cd2browse_use.txt
   The second priority has a title tag of whether a pdf or a html file.
   cd2browse scans each pdf or html file for a title tag and takes this as the
   title in the menu line.
   If none of both, a .htaccess entry or a title tag exists, cd2browse takes the
   file name.

   If cd2browse finds a Image in the file tree, it calculates a thumb nail
   image, a preview page and image of this image. So that automatically a image
   gallery is built. If you dont want to process images, for example beause
   images are linked inside html files, you may add a line in the .htaccess file
   with "IndexIgnore <list of extensions>" to the directory you don't want to
   index images.

How to start processing on the command line:

   perl index.pl -p <path to index> [-n -m -t -s -i -x -r -q -v]


   where options -n , -m , -t ,-s -i -x -r -q and -v are optional

How to start the GUI for window based interface:

   perl CD2Browse.pl

   The GUI is mostly self explaining - if you need help, go to Help -> Help, or
   read the file CD2Browse.hlp

Example:

   perl c:\perl\own\index.pl -p "c:\Own Files\CD project"
   ( use the double quotes for files or path with spaces )

   The above line will index all sub directories in "c:\Own Files\CD project"
   and writes the result into c:\Own Files\CD project

   After calculation, point your browser to index.html in the directory and
   enjoy.

Options:
  -n  (re) calculate no images to save cpu time
      This is especially interesting to re-calculate the indexes and omitting
      re-calculation of images, because this may save a lot of time.
  -m  maxwidh of the preview image (default=800)
      You can define the maximum with of the preview images with this option
      the size is in pixels. If the files are smaller, the image gets the
      previous size.
  -s  size of the thumbnails (default=90x90)
      The size of the thumbnails in the menu. The aspect ratio of the image is
      kept, but the resulting maximum is according to the setting width or
      height, depending on which exceeds first.
  -t  title
      The title of the menu pages.
  -i  do not index images
      If -i exists, no images will be indexed at all - for example if all
      images belong to html files.
  -x  do not extract title from pdf file
      If -x exists, the indexing process will not extract the title from the
      pdf file. Instead, the file name is used. This is helpful, when the
      pdf files do not contain senseful title tags
  -r  do not create several output pages for sorting. When applied, only
      one result page per directory is created. This does not allow sorting
      on the other hand. A different page.tpl template is recommended, because
      if the sort template is used, clicking onto the sort links lead to a
      error message of the browser - missing page. If the option is not
      present, 8 pages per directory will be created, for offline sorting.
  -q  quiet - do not output progress information on the console window.
  -v  Do not create folder navigation in the page section of the main view.
      If you use this option, no links for sub folders will be created in the
      main views (page_xxx.html) So subfolders are not visible in the page
      section. This forces the User to use the tree section for folder
      navigation.

.htaccess functions:
   Since the command line options influence the behaviour of cd2browse in
   general, there is a need to define the behaviour on a per directory base.
   Similiar to the apache directives, it is possible to influence the indexing
   process by setting directives inside .htaccess files.

   if a .htaccess file exists in a scanned directory, it will be opened and
   parsed.
   
   The following directives are recognized in .htaccess files:

   IndexIgnore
   IndexOptions SuppressDescription
   AddDescription

   IndexIgnore takes Arguments like in apache.cnf:
   Like in Apache, the settings are valid also for all sub directories.

   IndexIgnore *.gif *.css *.jpg *.png thumbs.db

   The above line for examle does not index gif,jpeg and png images and also no
   css files and thumbs.db files.
   One or more lines with this directive may be used in the .htaccess file.

   IndexOptions SuppressDescription
   Like in Apache, the settings are valid also for all sub directories.

   The above line prevents the indexing process to extract the pdf title from
   pdf files - this is a per directory setting similiar to the -x command line
   option, which works globally.
   One line with this directive may be used in the .htaccess file.

   AddDescription "Description of the file" filename
   Other than in Apache, the File description is not used in sub directories.
   This is a feature, since Apache annoys with repeating descriptions in sub
   directories, when the same file name appears.

   The above line adds a description for a particular file. - see also the hints
   further up in this document.

   note: if you want to have a mix of images in a directory you want to index and
   images you dont want to be indexed because they belong to a html file, you may
   create a directory with a leading dot like for example .resource and put the
   images for html pages inside this directory and link it inside the html
   accordingly. Directories with a leading dot will not be indexed at all.

Customizing cd2browse:

   To customize the look and feel of cd2browse results, you may read the
   following:

   Files are copied from the resourcesource directory of cd2browse - usually
   /var/opt/cd2browse/repository (unix/Linux) or
   c:\strawberry_operate\opt\cd2browse\repository (Windows)
   - to the target directory "<dir to index>/.repository"

   CD2Browse checks before copying the files. If the files to copy already
   exist, cd2browse does not copy, but takes the settings from the target.
   So you may change just the files in your particular target directory
   instead of changing the source. Each further run of index.pl will take the
   settings from the target. This means you can customize the output on a
   project base this way. On the other hand this means, that if once a target
   directory has been changed, it will be never overwritten again, until you
   delete all files in the .repository directory on the target manually.

Files:

\var\opt\cd2browse\repository\head.html    - the upper frame (search form and head
                                             line)content
\var\opt\cd2browse\repository\index.html   - the frame set itself
\var\opt\cd2browse\repository\result.html  - do not edit - will be overwritten -
                                             change
                                  \var\cd2browse\repository\menu\templatespage.tpl
                                  and list.tpl instead
\var\opt\cd2browse\repository\welcome.html - the first page shown in the main
                                             frame
\var\opt\cd2browse\repository\start.exe    - used together with autorun.inf to
                                             autostart the browser when on cd and
                                             cd is inserted
\var\opt\cd2browse\repository\autorun.inf  - used together with start.exe to
                                             autostart the browser when on cd and
                                             cd is inserted
\var\opt\cd2browse\repository\cd.ico       - shown in explorer as the drive icon
\var\opt\cd2browse\repository\resources    - file type icons for the use in the
                                             menu
\var\opt\cd2browse\repository\empty_dir.html -page shown if the user clicks onto
                                             a empty directory if the folder
                                             navigation is not in use
\var\opt\cd2browse\repository\image_end.html -page shown if the last image of the
                                             gallery is reached
\var\opt\cd2browse\resources\templates\image.tpl
                                           - template for the image gallery html
\var\opt\cd2browse\repository\templates\page.tpl  - template for the menu pages
\var\opt\cd2browse\repository\menu\templates\list.tpl
                                           - template for each menu page list line
\var\opt\cd2browse\repository\menu\templates\tree.tpl
                                           - template for the file tree menu
\var\var\opt\cd2browse\repository\menu\templates\treeitem1-1.tpl
                                           - template for the root folders of the
                                             tree menu - this is the opening tag.
                                             Together with treeitem1-2.tpl it
                                             contains the code for this folder
                                             level menu structure
...\treeitem1-2.tpl                        - Closing tag  - works together with
                                             treeitem1-1.tpl
...\treeitem2-1.tpl                        - This is the end fragment for the folder
                                             hirarchy i.e. used for a folder wich
                                             has no sub-folders.
...\treeitem2-2.tpl                        - Contains the closing tag - works
                                             together with treeitem2-1.tpl
...\treeitem2-1a.tpl                       - Used for folders in between the root
                                             and the end folder
...\treeitem2-2a.tpl                       - Contains the closing tag - works
                                             together with treeitem2-1a.tpl

After running cd2browse once sucessfully, a similar structure exists in your
target file tree, because the above files and folders will be copied to your
document root. These files will be copied only if the don't exist before. This
means customizing them allows you a project based look and feel

<target directory>\index.html
<target directory>\.repository\head.html
<target directory>\.repository\result.html
<target directory>\.repository\welcome.html
<target directory>start.exe
<target directory>autorun.inf
<target directory>cd.ico
<target directory>\.repository\resources <all copied from
                                          \var\opt\cd2browse\repository\resources>
<target directory>\.repository\menu\     <all copied from
                                               \var\opt\cd2browse\repository\menu>
<target directory>\.repository\teplates\ <all copied from
                                          \var\opt\cd2browse\repository\templates>

How to use different Tree menus:
To use a different tree menu, you can rename one of the additional sample
repository directories "\var\opt\cd2browse\repository_xxxxx" into "repository"
Please read also the README files in the different repository_xxx directories.

  A template set for the tree menu consists of four levels as shown below and is
  the base for the resulting tree.html. During run time of index.pl, the templates
  will be filled with data and linked together to form the resulting tree.html
-------------------
|                 |
|                 --------------------
|                 |  treeitem1-1.tpl |
|                 ----------------------------
|                        |  treeitem2-1a.tpl |
|                        ---------------------
|                                  .....
|                                ----------------------
|                                | treeitem2-1a.tpl   |
|                                -------------------------------
|                                        | treeitem2-1.tpl     |
|  tree.tpl                              -----------------------  
|                                        | treeitem2-1.tpl     |
|                                -------------------------------
|                                | treeitem2-2a.tpl   |
|                                ----------------------
|                                  .....
|                        ---------------------
|                        |  treeitem2-2a.tpl |
|                 ----------------------------
|                 |  treeitem1-2.tpl |
|                 --------------------
|                 |  treeitem1-1.tpl |
|                 --------------------
|                       .....
|                 --------------------
|                 |  treeitem1-2.tpl |
|                 --------------------
|                 |
------------------- Remember: After running once index.pl on a particular directory tree, you need
to delete the .resources directory in the target file tree if you want to try a
different tree menu for the same directory. Otherwise you will see no change !

*

Leave a Reply

Your email address will not be published. Required fields are marked *