tiridx Proposal                                             -*-org-*-

tiridx is a successor to tirph that includes the following features:

- tirph gophermap generation with improvements discussed in
 [[./next-step.txt][Next Step for Phlogging]]
- directory index HTML rendering
- static or dynamic rendering
- special lists: blog, blinks, all file archive, all file name index
- (tirrender program will render HTML for individual text, HTML,
 image files)
- ?Quick-and-dirty Bourne shell script?
- ?HTML-only and maintain tirph for gopher?

Not sure I like `tiridx' as a name.

* Purpose

- Generate index HTML files for a topical nexus directory and its
 dependent subdirectories.
- Nexus, subdirectories, and contained files can be located anywhere
 in the file system accessible by the script, not necessarily in
 HTTP server's file subtree.
 + File in HTTP server subtree may be referenced by direct URL.
 +

* Gophermap/Index Layout

|--------------------|
| NAVIGATION BAR (I) |
|--------------------|
| TITLE              |
|--------------------|
| DESCRIPTION        |
|--------------------|
| NEXUS LINK (G)     |
|--------------------|
| GOPHER HEADER (G)  |
|--------------------|
| WEB HEADER (I)     |
|--------------------|
| LATEST UPDATES     |
|--------------------|
| DIRECTORY CONTENTS |
|--------------------|
| EXITS              |
|--------------------|
| GOPHER FOOTER (G)  |
|--------------------|
| WEB FOOTER (I)     |
|--------------------|
| NEXUS LINK (G)     |
|--------------------|
| FORTUNE            |
|--------------------|

* Section Contents

** NAVIGATION BAR

** TITLE

Node title. Contents of file .title in target
directory. Optional. Usually in form "<directory> - <one-liner>".


** DESCRIPTION

Node description. Contents of file .description in target
directory. Optional.

** NEXUS LINK

Link to nexus directory (gopherhole root). Inserted at top and bottom
of non-nexus nodes.

** GOPHER HEADER

Gopher-specific information and links. Contents of file .gophhead in
target directory. Optional.

** WEB HEADER

** LATEST UPDATES

Reverse chronological list of links to N most recently added or
changed files. Link text format:

 <ls-timestamp> <document-title> [<directory>]


** DIRECTORY CONTENTS

List of gopher links to files and subdirectories of current
directory. Link text is document/subdirectory title.

** EXITS

List of gopher links to related topic directories generated from
directory name list in file .exits. Link text is directory title.

** GOPHER FOOTER

Gopher-specific information and links. Contents of file .gophfoot in
target directory. Optional.

** WEB FOOTER

** FORTUNE

Random fortune. Generated by fortune program (if available).

* Issues

1. Phlog entry selectors should be portable, valid regardless of
  where gophermap file is stored.

* Notes

** Titles of Documents and Subdirectories

*** Plain text files

(Extensions: *.txt, *.org)

First line of file.

*** HTML files

(Extensions: *.html, *.htm, *.shtml)

Contents (first line if multi-lined) of first H! tag.

*** Subdirectories

Contents of .title file in subdirectory or subdirectory name if no
title file exists.