default_highlighter | preserve_anchor_case |
---|---|
oils-sh |
true |
A guide to everything in Oils (in progress).
Go back to All Docs on Oils for design docs and tutorials.
Oils has two major "modes" for shell:
OSH Table of Contents - Compatible
YSH Table of Contents - New and Powerful
You can use OSH by itself, YSH by itself, or upgrade OSH to YSH.
Those two docs link to dozens of topics within these 12 chapters:
- Front End
- Command Language
- Word Language
- OSH Assignment
- Mini Languages
- Builtin Commands
- Global Shell Options
- Special Variables
- Plugins and Hooks
- YSH Expression Language
- YSH Types and Methods
- Builtin Functions
Data Notation Table of Contents - Languages for data are complementary to shell programs.
Topics in these 3 chapters:
- JSON / J8 Notation
- Packle (TODO)
- Errors
When you type help
in OSH or YSH, the command shows some of this material,
and prints hyperlinks to it.
There are 3 levels in this tree of docs, which underlies the help
builtin:
- Chapter - An HTML doc that's part of the reference. May apply to OSH, YSH or both.
- Section - An
<h2>
heading in a chapter - Topic - An
<h3>
heading in a chapter.- It has text with a globally unique name like
doc-comment
. - May apply to OSH, YSH or both.
- It has text with a globally unique name like
More terminology:
- Table of Contents - a doc that links to topics, within chapters.
- Card - Topics maybe be exported as
help
builtin "cards", either as inline text, or a URL to online HTML. A card may also have a URL to POSIX or bash docs.
The source code is simply a tree of Markdown files:
doc/
release-index.md # /release/$VERSION/
index.md # All Docs on Oils, /release/$VERSION/doc/
getting-started.md
...
ref/
index.md # this page, the Oils Reference
toc-osh.md # link to OSH topics
toc-ysh.md # link to YSH topics
toc-data.md
chap-cmd-lang.md # chapter on the command language
...
And the URLs basically mirror the source code:
/release/$VERSION/
index.html
doc/
index.html
getting-started.html
...
ref/
index.html
toc-osh.html
toc-ysh.html
toc-data.html
chap-cmd-lang.html
...
You can link to topics with internal anchors: