Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
2f79450
Remove reference to .model_info file (no longer needed)
DavidLRowe Dec 6, 2025
8bec30c
auto: Keyman for developer help deployment
keyman-server Dec 8, 2025
9fd59c6
Merge pull request #2358 from keymanapp/auto/developer-help-19.0.171-…
keyman-status Dec 8, 2025
13076a7
auto: Keyman for web help deployment
keyman-server Dec 8, 2025
e02a9af
Merge pull request #2359 from keymanapp/auto/web-help-19.0.172-alpha/…
keyman-status Dec 8, 2025
3720715
fix: support __index.txt to custom sort help page index
mcdurdin Dec 9, 2025
b6ddde1
auto: Keyman for web help deployment
keyman-server Dec 9, 2025
c7cb048
auto: Keyman for developer help deployment
keyman-server Dec 9, 2025
580c837
Merge pull request #2361 from keymanapp/auto/web-help-19.0.173-alpha/…
keyman-status Dec 9, 2025
8850496
Merge pull request #2362 from keymanapp/auto/developer-help-19.0.173-…
keyman-status Dec 9, 2025
eb2bcbd
auto: Keyboard help deployment
keyman-server Dec 9, 2025
f33d488
Merge pull request #2363 from keymanapp/auto/keyboards/upload/TC-2417
keyman-status Dec 9, 2025
4122557
auto: Keyboard help deployment
keyman-server Dec 10, 2025
5147960
Merge pull request #2364 from keymanapp/auto/keyboards/upload/TC-2418
keyman-status Dec 10, 2025
ed59281
auto: Keyboard help deployment
keyman-server Dec 10, 2025
1339ecd
auto: Keyman for web help deployment
keyman-server Dec 10, 2025
c8a824a
Merge pull request #2365 from keymanapp/auto/keyboards/upload/TC-2419
keyman-status Dec 10, 2025
0c30468
auto: Keyman for developer help deployment
keyman-server Dec 10, 2025
7cb6094
Merge pull request #2366 from keymanapp/auto/web-help-19.0.174-alpha/…
keyman-status Dec 10, 2025
8f750e7
Merge pull request #2367 from keymanapp/auto/developer-help-19.0.174-…
keyman-status Dec 10, 2025
28d35da
auto: Keyboard help deployment
keyman-server Dec 11, 2025
16674c3
Merge pull request #2368 from keymanapp/auto/keyboards/upload/TC-2420
keyman-status Dec 11, 2025
80bfc53
Merge pull request #2360 from keymanapp/fix/1780/allow-custom-index-o…
mcdurdin Dec 12, 2025
97e9243
Merge pull request #2357 from keymanapp/DavidLRowe-patch-1
mcdurdin Dec 13, 2025
ed804a5
docs: clarify 'final group'
mcdurdin Dec 13, 2025
f2444dc
Merge pull request #2370 from keymanapp/docs/2369-clarify-final-group
mcdurdin Dec 14, 2025
676c2d8
auto: Keyboard help deployment
keyman-server Dec 15, 2025
1f54916
Merge pull request #2371 from keymanapp/auto/keyboards/upload/TC-2422
keyman-status Dec 15, 2025
c2eb4f6
auto: Keyboard help deployment
keyman-server Dec 15, 2025
2b9b747
Merge pull request #2372 from keymanapp/auto/keyboards/upload/TC-2423
keyman-status Dec 15, 2025
aca997e
auto: Keyboard help deployment
keyman-server Dec 16, 2025
eaa0b27
Merge pull request #2373 from keymanapp/auto/keyboards/upload/TC-2424
keyman-status Dec 16, 2025
9694057
auto: Keyboard help deployment
keyman-server Dec 17, 2025
c729c22
Merge pull request #2375 from keymanapp/auto/keyboards/upload/TC-2426
keyman-status Dec 17, 2025
8d10116
auto: Keyboard help deployment
keyman-server Dec 18, 2025
910aa19
Merge pull request #2376 from keymanapp/auto/keyboards/upload/TC-2427
keyman-status Dec 18, 2025
2d3c630
auto: Keyboard help deployment
keyman-server Dec 18, 2025
8869c96
Merge pull request #2377 from keymanapp/auto/keyboards/upload/TC-2428
keyman-status Dec 18, 2025
c68729f
Merge branch 'staging' into auto/A19S18-merge-master-into-staging
keyman-server Dec 18, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions _includes/includes/index-content.php
Original file line number Diff line number Diff line change
@@ -1,13 +1,50 @@
<?php

/**
* Sort the list of file titles according to the predefined order in
* __index.txt. If a filename in __index.txt is prefixed with a hyphen (-), then
* exclude it from the list. If a filename is missing from __index.txt, it will
* be appended to the bottom of the list.
*/
function get_file_titles_by_index($base, $unsorted_items) {
$order = str_replace("\r\n", "\n", @file_get_contents($base.'__index.txt'));
$order = explode("\n", $order);
foreach($order as $item) {
if(substr($item, 0, 1) == '-') {
// remove the item from the list
$item = substr($item, 1);
if(array_key_exists($item, $unsorted_items)) {
$unsorted_items[$item] = '';
}
}
else if(array_key_exists($item, $unsorted_items)) {
$items[$item] = $unsorted_items[$item];
$unsorted_items[$item] = '';
}
}

asort($unsorted_items, SORT_FLAG_CASE|SORT_STRING);
foreach($unsorted_items as $item => $title) {
if($title != '') {
$items[$item] = $title;
}
}
return $items;
}

function get_file_titles($base) {
$hasIndex = false;
$files = glob($base.'*');
$items = array(); $dirs = array();
foreach($files as $file) {
$basefile = basename($file);
if($basefile == '.' || $basefile == '..') {
continue;
}
if($basefile == '__index.txt') {
$hasIndex = true;
continue;
}
if($basefile == '_nav.php' || $basefile == 'index.php' || $basefile == 'index.md') {
continue;
}
Expand Down Expand Up @@ -37,6 +74,10 @@ function get_file_titles($base) {
}
}

if($hasIndex) {
return get_file_titles_by_index($base, $items + $dirs);
}

asort($items, SORT_FLAG_CASE|SORT_STRING);
asort($dirs, SORT_FLAG_CASE|SORT_STRING);

Expand Down
4 changes: 2 additions & 2 deletions developer/19.0/guides/develop/tutorial/step-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,10 @@ accent, and one for the vowel.
| `Â, â, ...` | caret (<kbd>^</kbd>), then the vowel key. |
| `Ä, ä, ...` | double-quote (<kbd>"</kbd>), then the vowel key. |
| `Ç, ç` | quote (<kbd>'</kbd>), then lower- or uppercase C. |
| `«, »` | two less-than (<kbd>&lt;&lt;</kbd>) or greater-than (<kbd>&gt;&gt;</kbd>) symbols. |
| `«, »` | two less-than (<kbd>&lt;</kbd><kbd>&lt;</kbd>) or greater-than (<kbd>&gt;</kbd><kbd>&gt;</kbd>) symbols. |

Now that we have decided which character to use and how the user can
enter them, we can start to write the keyboard.

- [Continue with Step 2: Writing the Header](step-2)
- [Back to the Introduction](index)
- [Back to the Introduction](index)
108 changes: 97 additions & 11 deletions developer/19.0/reference/api/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,101 @@

## Packages

| Package | Description |
| --- | --- |
| [@keymanapp/kmc-analyze](./kmc-analyze.md) | kmc-analyze - keyboard analysis classes, including tools for <code>&amp;displayMap</code>. |
| [@keymanapp/kmc-copy](./kmc-copy.md) | |
| [@keymanapp/kmc-generate](./kmc-generate.md) | |
| [@keymanapp/kmc-keyboard-info](./kmc-keyboard-info.md) | |
| [@keymanapp/kmc-kmn](./kmc-kmn.md) | kmc-kmn - Keyman keyboard compiler |
| [@keymanapp/kmc-ldml](./kmc-ldml.md) | |
| [@keymanapp/kmc-model](./kmc-model.md) | |
| [@keymanapp/kmc-model-info](./kmc-model-info.md) | |
| [@keymanapp/kmc-package](./kmc-package.md) | |
<table><thead><tr><th>

Package


</th><th>

Description


</th></tr></thead>
<tbody><tr><td>

[@keymanapp/kmc-analyze](./kmc-analyze.md)


</td><td>

kmc-analyze - keyboard analysis classes, including tools for `&displayMap`<!-- -->.


</td></tr>
<tr><td>

[@keymanapp/kmc-copy](./kmc-copy.md)


</td><td>


</td></tr>
<tr><td>

[@keymanapp/kmc-generate](./kmc-generate.md)


</td><td>


</td></tr>
<tr><td>

[@keymanapp/kmc-keyboard-info](./kmc-keyboard-info.md)


</td><td>


</td></tr>
<tr><td>

[@keymanapp/kmc-kmn](./kmc-kmn.md)


</td><td>

kmc-kmn - Keyman keyboard compiler


</td></tr>
<tr><td>

[@keymanapp/kmc-ldml](./kmc-ldml.md)


</td><td>


</td></tr>
<tr><td>

[@keymanapp/kmc-model](./kmc-model.md)


</td><td>


</td></tr>
<tr><td>

[@keymanapp/kmc-model-info](./kmc-model-info.md)


</td><td>


</td></tr>
<tr><td>

[@keymanapp/kmc-package](./kmc-package.md)


</td><td>


</td></tr>
</tbody></table>

Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,51 @@ constructor(callbacks: CompilerCallbacks, options?: AnalyzeOskCharacterUseOption

## Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| callbacks | CompilerCallbacks | |
| options | [AnalyzeOskCharacterUseOptions](./kmc-analyze.analyzeoskcharacteruseoptions.md) | _(Optional)_ |
<table><thead><tr><th>

Parameter


</th><th>

Type


</th><th>

Description


</th></tr></thead>
<tbody><tr><td>

callbacks


</td><td>

CompilerCallbacks


</td><td>


</td></tr>
<tr><td>

options


</td><td>

[AnalyzeOskCharacterUseOptions](./kmc-analyze.analyzeoskcharacteruseoptions.md)


</td><td>

_(Optional)_


</td></tr>
</tbody></table>

Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,39 @@ analyze(file: string): Promise<boolean>;

## Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| file | string | relative or absolute path to a Keyman source file |
<table><thead><tr><th>

Parameter


</th><th>

Type


</th><th>

Description


</th></tr></thead>
<tbody><tr><td>

file


</td><td>

string


</td><td>

relative or absolute path to a Keyman source file


</td></tr>
</tbody></table>

**Returns:**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,39 @@ getStrings(format?: '.txt' | '.md' | '.json'): string[];

## Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| format | '.txt' \| '.md' \| '.json' | _(Optional)_ file format to return - can be '.txt', '.md', or '.json' |
<table><thead><tr><th>

Parameter


</th><th>

Type


</th><th>

Description


</th></tr></thead>
<tbody><tr><td>

format


</td><td>

'.txt' \| '.md' \| '.json'


</td><td>

_(Optional)_ file format to return - can be '.txt', '.md', or '.json'


</td></tr>
</tbody></table>

**Returns:**

Expand Down
Loading