My future is static
It's already had it
I could tuck you in
And we can talk about it
(Sonic Youth, "Schizophrenia")
Future improvements
Basically, I consider hsc finished. However, some people have
convinced me that there are some things that should be implemented
before I release the final version.
Minor enhancements
- Improve hscpitt: Add a copy/move command.
- Rename some message classes: message
classes ``
bad style
'' and ``fatal error
'' will
probably be renamed to ``flaw
'' and ``failure
'',
so the class name will also consists of only one word. Furthermore,
``fatal'' sounds too hard.
- Rename internal attributes and filenames:
currently, internal attributes are named like HSC.XY, and for
filenames there are no templates at all. I will probably use the
prefix ``hsc'' and a hyphen (``
-
'') as separator, resulting into
attributes like hsc-click-here
and filenames like
hsc-XXXX.tmp.
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 a html-object. Easy to implement for me, awfully
cryptic and complicated, but rather flexible for the user.
- Checking of external URIs: I'm definitely not going to
mess around with shitty TCP/IP-stuff, but a script program could
retrieve information about HREFs from the document file, and pass them to
an external program (like GetURL)
- Functions with multiple arguments: Functions like
Exists()
or GetFileSize
should use the
same attribute syntax like tags, for example
GetEnv(VAR="HOME")
.
- New copyright: Version 0.913 is probably the last release
distributed under GPL. The major lack of the GPL seems to be that I can't
prevent someone else porting hsc to a MS-DOS-based system. But I don't
think about not including the source or getting incredibly rich.
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
- Plausibility checking of external URIs:
unknown protocol, missing domain etc.
- Improve expression parser: the current implementation
is an embarrassment for a student of computer science, but.. well, it does
it's job for now.
- GUI-Version for AmigaOS: I ought to play around with
MUI sometimes anyway
- 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
- Autoconf-support: In the unix-world, a cryptic tool package
called autoconf has become quite popular, as it tries to compensate the
lack that even at the end of the 20th centaury, no one knows in which
header file to expect
strftime()
on this ridiculous system
(ANSI has specified this in the early 80ies, bye the way). Although I don't
care much about
outdated unix-versions, and I don't like unreadable and badly documented
macro languages, I might include the required changes if someone else
wastes his time with setting up a working autoconf-installation.
- 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.
- XML-support: It's too ridiculous. If you want to have
a jolly good laugh, try a html validator on
http://www.w3.org/pub/WWW/TR/WD-xml-lang-970331.html,
to get an impression of how competent these people are. After that, read
http://www.w3.org/pub/WWW/TR/WD-xml-lang.html
to laugh again... This time I'm really glad if all browser developers will
ignore it; just another prove that w3c has not produced anything useful after
html-2.0.
- Precompiled include files: This would
also speed up reading hsc.prefs; I experimented around a bit
with this, and it seems that more time is wasted scanning those
bloody linked lists then by checking the data. It's more likely
that some sort of balanced binary tree will make it into
the source.
- Undefine macros or attributes: I do not
consider ``undefining'' a clean concept, but a result of
mental impotence.
- Type checking for attributes: Anything more then the current
(very relaxed) checking would not fit into the 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.