My future is static
It's already had it
(Sonic Youth, "Schizophrenia")
Future?
To be honest, I didn't think hsc would make it to a state that I can call
V1.0 without too much of a stomach ache. Neither am I sure anybody would agree
that this has been reached, but here it is, over 10 years after the initial
release and just late enough to bring the number of people who actually care
down to a few dozen. Anyway, hsc is still useful to me and I will occasionally
continue implementing one or another new thing to play around with. Agi thought
of some of the things a long time ago so I just put the list below back again.
Comments welcome.
Minor Enhancements
- Improve hscpitt: Add a copy/move command.
Major Enhancements
- New project database: instead of a single project file,
hsc should store it's data in separate files for every document. A
document data file is only loaded during parsing if some information about a
specific document is needed. This should speedup huge projects with more
than 100 documents.
- Additional document data: Without remarkable changes,
hsc could also collect useful information about a document, like
document title, URIs referenced etc. Of course, some access functions
will be provided, too.
- Index document creation: A new tag
<$index>
will
allow the
user to attach some private information to the document data, which later
can be retrieved using hscpitt. A script the user will have to write
can use these to create an HTML object. Easy to implement for me, awfully
cryptic and complicated, but rather flexible for the user.
- Functions with multiple arguments: Functions like
Exists()
or GetFileSize
should use the
same attribute syntax like tags, for example
GetEnv(VAR="HOME")
.
Only If I'm Bored
- More conditionals:
<$select>
, <$when>
and
<$otherwise>
as an extended version of <$if>
- Indention: Add option
INDENT
for <$include>
and <$source>
to indent preformatted text
- Improve expression parser: the current implementation
is an embarrassment for a student of computer science, but.. well, it does
it's job for now.
- Filename compatibility mode: this mostly means that
a ``
..
'' should act as parent directory on all systems without
having to run additional system patches.
Things Someone Else Can Do
- Improve hscdepp: As I do not consider dependency generators
a reasonable concept, someone else will have to add things like excluding
specific documents or pattern matching stuff. Hey, it's only about 700 lines of
code..
- Document relation editor: It would be nice, if one could
edit all those next/prev/up/.. relations with a program, and include these
into hsc-sources later. It would make sense to store these relations in
the document data file.
No Future
For the thinggies below, from my point of view, there is no need to
ever be implemented.
- Type checking for attributes: Anything more then the current
(very relaxed) checking would not fit into the rather typeless
concept if plain HTML.
- Move around in text using
<$goto>
and <$label>
:
This one's perverted to the core.
- Support other output-formats like texinfo or AmigaGuide: There
are converters around for this task, and several people smarter than me
have already failed to introduce the ultimate hypertext authoring tool.