1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-06-26 04:00:43 +03:00

Further on Extensions page

This commit is contained in:
Graham Nelson 2023-07-04 21:49:18 +01:00
parent d6e8609db1
commit 000c4f928d
5 changed files with 116 additions and 32 deletions

View file

@ -232,7 +232,7 @@ each extension's page is generated from its |inbuild_work|.
=
void Works::begin_extension_link(OUTPUT_STREAM, inbuild_work *work, text_stream *rubric) {
TEMPORARY_TEXT(link)
WRITE_TO(link, "href='inform://Extensions/Extensions/");
WRITE_TO(link, "href='inform://Extensions/Documentation/");
Works::escape_apostrophes(link, work->author_name);
WRITE_TO(link, "/");
Works::escape_apostrophes(link, work->title);

View file

@ -162,7 +162,7 @@ are three radio buttons, and number 1 is selected by default.
"onclick=\"closeExtra('disp1', 'plus1'); closeExtra('disp2', 'plus2'); "
"openExtra('disp3', 'plus3'); return false;\"");
HTML_TAG_WITH("img", "border=0 id=\"plus3\" src=inform:/doc_images/extrarboff.png");
WRITE(" By word count");
WRITE(" By location");
HTML_CLOSE("a");
HTML_CLOSE("p");
@ -244,7 +244,7 @@ until they put matters right.
@d SORT_CE_BY_TITLE 1
@d SORT_CE_BY_AUTHOR 2
@d SORT_CE_BY_LENGTH 3
@d SORT_CE_BY_LOCATION 3
@d SORT_CE_BY_USAGE 4
@<Sort the census into the appropriate order@> =
@ -265,7 +265,7 @@ until they put matters right.
switch (d) {
case SORT_CE_BY_TITLE: criterion = ExtensionIndex::compare_ecd_by_title; break;
case SORT_CE_BY_AUTHOR: criterion = ExtensionIndex::compare_ecd_by_author; break;
case SORT_CE_BY_LENGTH: criterion = ExtensionIndex::compare_ecd_by_length; break;
case SORT_CE_BY_LOCATION: criterion = ExtensionIndex::compare_ecd_by_location; break;
case SORT_CE_BY_USAGE: criterion = ExtensionIndex::compare_ecd_by_title; break;
default: internal_error("no such sorting criterion");
}
@ -303,9 +303,9 @@ the usual ones seen in Mac OS X applications such as iTunes.
WRITE("Extensions in alphabetical order");
@<End a tinted census line@>;
break;
case SORT_CE_BY_LENGTH:
case SORT_CE_BY_LOCATION:
@<Begin a tinted census line@>;
WRITE("Extensions in order of word count (longest first)");
WRITE("Extensions grouped by location");
@<End a tinted census line@>;
break;
}
@ -348,6 +348,9 @@ the usual ones seen in Mac OS X applications such as iTunes.
@d UNINDEXED_SYMBOL "border=\"0\" src=\"inform:/doc_images/unindexed_bullet.png\""
@d INDEXED_SYMBOL "border=\"0\" src=\"inform:/doc_images/indexed_bullet.png\""
@d PROBLEM_SYMBOL "border=\"0\" height=\"12\" src=\"inform:/doc_images/census_problem.png\""
@d REVEAL_SYMBOL "border=\"0\" src=\"inform:/doc_images/Reveal.png\""
@d HELP_SYMBOL "border=\"0\" src=\"inform:/doc_images/help.png\""
@d PASTE_SYMBOL "border=\"0\" src=\"inform:/doc_images/paste.png\""
@<Print the census line for this extension@> =
@<Print column 1 of the census line@>;
@ -359,8 +362,6 @@ the usual ones seen in Mac OS X applications such as iTunes.
@<Print column 4 of the census line@>;
@<Print column 1 of the census line@> =
Works::begin_extension_link(OUT,
ecd->copy->edition->work, ExtensionIndex::ecd_rubric(ecd));
HTML::begin_span(OUT, I"extensionindexentry");
if (d != SORT_CE_BY_AUTHOR) {
WRITE("%S", ecd->copy->edition->work->raw_title);
@ -376,12 +377,44 @@ the usual ones seen in Mac OS X applications such as iTunes.
WRITE("%S", ecd->copy->edition->work->raw_title);
}
HTML::end_span(OUT);
Works::end_extension_link(OUT, ecd->copy->edition->work);
filename *F = ExtensionWebsite::abs_page_URL(proj, ecd->copy->edition, -1);
if (TextFiles::exists(F)) {
WRITE(" ");
TEMPORARY_TEXT(link)
TEMPORARY_TEXT(URL)
WRITE_TO(URL, "%f", ExtensionWebsite::rel_page_URL(ecd->copy->edition, -1));
WRITE_TO(link, "href='inform:/");
Works::escape_apostrophes(link, URL);
WRITE_TO(link, "' style=\"text-decoration: none\"");
HTML_OPEN_WITH("a", "%S", link);
DISCARD_TEXT(link)
HTML_TAG_WITH("img", "%s", HELP_SYMBOL);
ExtensionIndex::add_to_key(key_list, HELP_SYMBOL, I"Documentation (click to read)");
HTML_CLOSE("a");
}
inform_extension *E = Extensions::from_copy(ecd->copy);
parse_node *at = Extensions::get_inclusion_sentence(E);
if (at) {
wording W = Node::get_text(at);
source_location sl = Lexer::word_location(Wordings::first_wn(W));
SourceLinks::link(OUT, sl, TRUE);
ExtensionIndex::add_to_key(key_list, REVEAL_SYMBOL, I"Included here (click to see)");
}
if (LinkedLists::len(ecd->copy->errors_reading_source_text) > 0) {
WRITE(" ");
HTML_TAG_WITH("img", "%s", PROBLEM_SYMBOL);
ExtensionIndex::add_to_key(key_list, PROBLEM_SYMBOL, I"Has errors (see below)");
} else if (usage_state == FALSE) {
WRITE(" ");
TEMPORARY_TEXT(inclusion_text)
WRITE_TO(inclusion_text, "Include %X.\n\n\n", ecd->copy->edition->work);
PasteButtons::paste_text(OUT, inclusion_text);
DISCARD_TEXT(inclusion_text)
ExtensionIndex::add_to_key(key_list, PASTE_SYMBOL,
I"Source text to Include this (click to paste in)");
}
compatibility_specification *C = ecd->copy->edition->compatibility;
@ -433,13 +466,12 @@ the first and last word and just look at what is in between:
}
@<Print column 4 of the census line@> =
inform_extension *E = Extensions::from_copy(ecd->copy);
HTML::begin_span(OUT, I"smaller");
if (d == SORT_CE_BY_LENGTH) {
if (Extensions::get_word_count(E) == 0)
WRITE("--");
if (d == SORT_CE_BY_LOCATION) {
if (Nests::get_tag(ecd->nest) == INTERNAL_NEST_TAG)
WRITE("Built in to Inform");
else
WRITE("%d words", Extensions::get_word_count(E));
WRITE("Installed in this project");
} else {
if (Str::len(ExtensionIndex::ecd_rubric(ecd)) > 0)
WRITE("%S", ExtensionIndex::ecd_rubric(ecd));
@ -594,12 +626,12 @@ int ExtensionIndex::compare_ecd_by_author(const void *ecd1, const void *ecd2) {
return Extensions::compare_by_author(E2, E1);
}
int ExtensionIndex::compare_ecd_by_length(const void *ecd1, const void *ecd2) {
int ExtensionIndex::compare_ecd_by_location(const void *ecd1, const void *ecd2) {
inbuild_search_result *e1 = *((inbuild_search_result **) ecd1);
inbuild_search_result *e2 = *((inbuild_search_result **) ecd2);
inform_extension *E1 = Extensions::from_copy(e1->copy);
inform_extension *E2 = Extensions::from_copy(e2->copy);
return Extensions::compare_by_length(E1, E2);
int d = Nests::get_tag(e1->nest) - Nests::get_tag(e2->nest);
if (d != 0) return d;
return ExtensionIndex::compare_ecd_by_title(ecd1, ecd2);
}
int ExtensionIndex::ecd_used(inbuild_search_result *ecd) {

View file

@ -192,3 +192,55 @@ filename *ExtensionWebsite::page_URL(inform_project *proj, inbuild_edition *edit
DISCARD_TEXT(leaf)
return F;
}
filename *ExtensionWebsite::abs_page_URL(inform_project *proj, inbuild_edition *edition,
int eg_number) {
TEMPORARY_TEXT(leaf)
Editions::write_canonical_leaf(leaf, edition);
pathname *P;
if (proj) {
P = Projects::materials_path(proj);
if (P == NULL) return NULL;
P = Pathnames::down(P, I"Extensions");
P = Pathnames::down(P, I"Reserved");
P = Pathnames::down(P, I"Documentation");
} else {
P = ExtensionWebsite::home_URL(NULL);
if (P == NULL) return NULL;
P = Pathnames::down(P, I"Extensions");
}
P = Pathnames::down(P, edition->work->author_name);
if (proj) {
P = Pathnames::down(P, leaf);
Str::clear(leaf);
if (eg_number > 0) WRITE_TO(leaf, "eg%d.html", eg_number);
else WRITE_TO(leaf, "index.html");
} else {
if (eg_number > 0) WRITE_TO(leaf, "-eg%d", eg_number);
WRITE_TO(leaf, ".html");
}
filename *F = Filenames::in(P, leaf);
DISCARD_TEXT(leaf)
return F;
}
filename *ExtensionWebsite::rel_page_URL(inbuild_edition *edition, int eg_number) {
TEMPORARY_TEXT(leaf)
Editions::write_canonical_leaf(leaf, edition);
pathname *P = NULL;
P = Pathnames::down(P, I"Extensions");
P = Pathnames::down(P, I"Reserved");
P = Pathnames::down(P, I"Documentation");
P = Pathnames::down(P, edition->work->author_name);
P = Pathnames::down(P, leaf);
Str::clear(leaf);
if (eg_number > 0) WRITE_TO(leaf, "eg%d.html", eg_number);
else WRITE_TO(leaf, "index.html");
filename *F = Filenames::in(P, leaf);
DISCARD_TEXT(leaf)
return F;
}

View file

@ -766,7 +766,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
grammatical tense&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [5]&nbsp;<a href=#A17><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
grammatical tense&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [5]&nbsp;<a href=#A17><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
present tense&nbsp;
@ -783,7 +783,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
narrative viewpoint&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [6]&nbsp;<a href=#A18><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
narrative viewpoint&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [6]&nbsp;<a href=#A18><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
first person singular&nbsp;
@ -800,7 +800,7 @@
</tr>
<tr class="stripeone">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
grammatical case&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [2]&nbsp;<a href=#A19><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
grammatical case&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [2]&nbsp;<a href=#A19><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
nominative&nbsp;
@ -817,7 +817,7 @@
</tr>
<tr class="stripetwo">
<td style="white-space:nowrap;" align="left" valign="top" height="20">
grammatical gender&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [3]&nbsp;<a href=#A20><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
grammatical gender&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> [3]&nbsp;<a href=#A20><img border=0 src=inform:/doc_images/Below.png></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
neuter gender&nbsp;
@ -1195,21 +1195,21 @@ When made with the Glulx setting, an Inform project can include sound effects or
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, enumerated value<br>
<p class="tightin1"><span class="indexgrey">English language</span></p>
</p>
<p class="halftightin1"><a name=A17></a><b>grammatical tense&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></b> (<i>plural</i> grammatical tenses)</p>
<p class="halftightin1"><a name=A17></a><b>grammatical tense&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></b> (<i>plural</i> grammatical tenses)</p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, enumerated value<br>
<p class="tightin1"><span class="indexgrey">present tense</span>&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">past tense</span>&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">perfect tense</span>&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">past perfect tense</span>&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">future tense</span>&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></p>
<p class="tightin1"><span class="indexgrey">present tense</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">past tense</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">perfect tense</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">past perfect tense</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">future tense</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></p>
</p>
<p class="halftightin1"><a name=A18></a><b>narrative viewpoint&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></b> (<i>plural</i> narrative viewpoints)</p>
<p class="halftightin1"><a name=A18></a><b>narrative viewpoint&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></b> (<i>plural</i> narrative viewpoints)</p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, enumerated value<br>
<p class="tightin1"><span class="indexgrey">first person singular</span>&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">second person singular</span>&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">third person singular</span>&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">first person plural</span>&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">second person plural</span>&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">third person plural</span>&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></p>
<p class="tightin1"><span class="indexgrey">first person singular</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">second person singular</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">third person singular</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">first person plural</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">second person plural</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">third person plural</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></p>
</p>
<p class="halftightin1"><a name=A19></a><b>grammatical case&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></b> (<i>plural</i> grammatical cases)</p>
<p class="halftightin1"><a name=A19></a><b>grammatical case&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></b> (<i>plural</i> grammatical cases)</p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, enumerated value<br>
<p class="tightin1"><span class="indexgrey">nominative</span>&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">accusative</span>&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></p>
<p class="tightin1"><span class="indexgrey">nominative</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">accusative</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></p>
</p>
<p class="halftightin1"><a name=A20></a><b>grammatical gender&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></b> (<i>plural</i> grammatical genders)</p>
<p class="halftightin1"><a name=A20></a><b>grammatical gender&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></b> (<i>plural</i> grammatical genders)</p>
<p class="tightin1"><i>Matches:</i> value, sayable value, understandable value, enumerated value<br>
<p class="tightin1"><span class="indexgrey">neuter gender</span>&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">masculine gender</span>&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">feminine gender</span>&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></p>
<p class="tightin1"><span class="indexgrey">neuter gender</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">masculine gender</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a>, <span class="indexgrey">feminine gender</span>&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a></p>
</p>
<hr>
<p class="halftightin1"><a name=A46></a><b>list of K</b> (<i>plural</i> lists of K)&nbsp;<a href=inform:/doc350.html><img border=0 src=inform:/doc_images/help.png></a></p>

View file

@ -46,8 +46,8 @@ prior named object - <i>object</i><br>
latest parser error - <i>command parser error</i><br>
</p>
<p><b>Grammatical definitions</b><br>
story tense&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> - <i>grammatical tense</i><br>
story viewpoint&nbsp;<a href='inform://Extensions/Extensions/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> - <i>narrative viewpoint</i><br>
story tense&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> - <i>grammatical tense</i><br>
story viewpoint&nbsp;<a href='inform://Extensions/Documentation/Graham%20Nelson/English%20Language.html' title="English Language by Graham Nelson" style="text-decoration: none"><img border=0 src=inform:/doc_images/Revealext.png></a> - <i>narrative viewpoint</i><br>
</p>
<p><b></b><br>
royal family&nbsp;<a href="source:story.ni#line4"><img border=0 src=inform:/doc_images/Reveal.png></a> - <i>dynasty</i><br>