FILE INDEXES AND DIRECTORY INDEXES

(These features [known as local indexes and global indexes in the source code], with the exception of the Wikiweb codes mentioned below, were retired on 28 August 2026. You can uncomment them in the source code if you really want to use them, but the still-existing features are recommended to be used instead. The reason they were retired is because they are Shule-specific and compatibility may not persist between different computers, while only offering a few benefits for this sacrifice.


An index is a group of files for a file or directory. Think of a file index much as a glossary to a book, and think of a folder index much as a glossary to a set of books. Your file is the book (or your files in the folder are the books). The index is the glossary. Your index is comprised of keys/words with definitions (text of arbitrary length).

Indexes are contained within a subdirectory called `indexes.directory` in your folder, whether they are file indexes or folder indexes. You may edit the text of the keys in any text editor. However, if you save new keys, delete keys, rename keys or such, you should only do it in this editor, and not in a file manager or another text editor—otherwise things like aliases won’t work properly. Rename and delete keys the same way you rename and delete regular files.

Index keys may have aliases to open them.

If your index project.pkl file becomes corrupted somehow, you still have the text for each key.

The index functionality uses the Wikiweb software. This means (when I program it) you’ll be able to do complex, text-only data entry. You’ll be able to create relations (with context) between keys, export your index to HTML, and so forth.

SHORTCUTS:

In addition to the shortcuts already mentioned in the menu, there are a couple more:

• Right-click text selection: If you right-click on a text selection, if a local index key with that name exists, it will open it. If it does not exist, it will prompt you if you want to create it.
• Ctrl+right-click text selection: If you hold the control key and right-click on a text selection, if a directory index key with that name exists, it will open it. If it does not exist, it will prompt you if you want to create it.

HYPERTEXT FICTION

Indexes may be used to create such as hypertext fiction (and other hypertext projects). Further functionality is planned (such as allowing global renaming of keys to be reflected in the text rather than just in the index structure), but here’s how it works for now:

• Index keys are hyperlinked files.
• To follow a link, highlight the text and right-click. (To quickly do this with a single word, double-click and then right-click.)
• You may want to give cues to your reader that something is an index key at least the first time you want them to realize following a link is an option, since this is plain text. (e.g. put some symbol by it, like *myKey)

You may be wondering why the left-click button has such functionality as I mentioned in the shortcuts section. The regular menu can already be used via the mouse for typical context menu functionality, and I ran into some difficulties while coding the context menu (plus, accidentally bringing up context menus is kind of annoying—and I’m using the Menu key as a compose key already anyway): So, I decided to use the left-click to further my goals at allowing a simple, easy, and effective way to do hypertext fiction. I needed some way to allow for quick hyperlinks.

Just for the record, index projects are Wikiweb projects. So, you could load them and do data entry Wikiweb-style (data entry does not pertain to the content of the .key files). Wikiweb is a way to relate data to other data bidirectionally.

WIKIWEB DATA ENTRY

Wikiweb is not exactly ready for prime time, yet, but you can use Shule to do data entry with it. You can also use Shule to export Wikiweb projects to HTML. Wikiweb is a separate entity than Shule, but Shule can interface with it (and Shule also uses it for making file and directory indexes; see File->Index). You can use the following compose key codes to access Wikiweb:
• wde (if you don’t select text, it will parse the contents of the whole file/tab; parse the text-only data entry, and run the commands on the project; you will be prompted for a directory; be sure to enter one that doesn’t already exist or it won’t work.)
• whe (export to HTML)

See Wikiweb’s documentation for information about how to do the text-only data entry. See .../shule/wikiweb/documentation.txt (it may be at the following path, if you used the installation file to install Shule: /opt/shule/wikiweb/documentation.txt ).