Skip to content

Commit e592d4f

Browse files
docs: update documentation for v5.9 (#876)
1 parent 35a70c2 commit e592d4f

13 files changed

Lines changed: 106 additions & 19 deletions

File tree

.agents/skills/documentation-workflow/SKILL.md

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,38 @@ description: Use when adding or updating massCode documentation, documenting a n
2525
- Пользовательская документация сайта пишется на английском, в стиле существующих docs pages.
2626
- Добавляй или обновляй наиболее конкретную страницу в `docs/website/documentation`.
2727
- Для новых страниц используй frontmatter с `title` и `description`.
28-
- Если фича доступна только с конкретного релиза, добавляй `<AppVersion text=">=x.y" />` ближе к началу страницы.
2928
- Добавляй страницу в `docs/website/.vitepress/config.mts` только если она должна появиться в навигации.
3029
- Ссылайся из `docs/website/documentation/index.md` только на широкие, cross-cutting фичи.
3130
- Пиши короткими task-oriented секциями. Предпочитай пользовательские флоу, а не детали реализации.
3231
- Shortcuts документируй через `<kbd>...</kbd>` и указывай macOS плюс Windows/Linux варианты, если они отличаются.
3332

33+
## Version Availability
34+
35+
- Перед добавлением или изменением `<AppVersion>` проверяй историю фичи в коде, документации или предыдущем релизном теге.
36+
- Считай `<AppVersion text=">=x.y" />` минимальной версией, где появилась ровно описываемая возможность, а не версией её последнего улучшения.
37+
- Ставь marker на уровне страницы или общего раздела только когда вся описываемая сущность впервые появилась в этой версии.
38+
- Если новый релиз расширяет существующую фичу, сохраняй её исходный marker или отсутствие marker, а новую версию указывай только у отдельного подпункта или предложения про улучшение.
39+
- Разделяй смешанное описание на базовую возможность и versioned enhancement, если общий marker создаёт впечатление, что старая возможность раньше была недоступна.
40+
- Не добавляй version marker для bugfix или внутренней переработки без нового пользовательского сценария. Локально отмечай изменение формата хранения, если оно влияет на совместимость.
41+
42+
Пример: если custom folder icons существуют с 3.7, а Emoji и Upload добавлены в 5.9, оставляй `>=3.7` у базовой возможности и ставь `>=5.9` только у подпункта про Emoji и Upload.
43+
44+
## Documentation Weight
45+
46+
- Перед созданием страницы или раздела оцени самостоятельность пользовательского сценария, количество шагов, настроек и ограничений.
47+
- Описывай мелкое одношаговое действие одной строкой или буллетом внутри существующего релевантного раздела.
48+
- Создавай отдельный раздел для самостоятельного workflow с несколькими шагами, вариантами, настройками или важными ограничениями.
49+
- Выбирай одно основное место для подробного описания cross-cutting фичи. В других страницах оставляй короткое упоминание или ссылку вместо повторения полного объяснения.
50+
- Оставляй bugfix, внутреннюю оптимизацию и implementation detail только в release notes, если они не меняют пользовательский сценарий или требования совместимости.
51+
52+
## Callouts
53+
54+
- Используй `warning` для риска потери данных, несовместимости, необратимого действия или существенного security-ограничения.
55+
- Используй `info` для автоматической миграции и неочевидного поведения, которое помогает правильно понять основной workflow.
56+
- Оставляй основные инструкции обычным текстом; callout должен выделять контекст или исключение, а не содержать весь сценарий.
57+
- Объединяй связанные риски в один callout и избегай нескольких соседних блоков, если их можно прочитать как одно сообщение.
58+
- Добавляй короткий предметный заголовок, например `::: warning Compatibility` или `::: info Automatic migration`.
59+
3460
## VitePress Markdown Gotchas
3561

3662
- VitePress компилирует markdown как Vue-компонент, поэтому `{{ ... }}` трактуется как Vue-интерполяция и **исчезает** из вывода.
@@ -67,6 +93,10 @@ description: Use when adding or updating massCode documentation, documenting a n
6793
- Добавлять README-only документацию для фичи, которой нужна настоящая docs page.
6894
- Забывать VitePress sidebar для новой страницы, которая должна быть в навигации.
6995
- Добавлять version availability в README.
96+
- Переносить `<AppVersion>` всего существующего раздела на версию, в которой фича лишь получила улучшение.
97+
- Создавать отдельный раздел для одношаговой мелкой фичи, которую достаточно упомянуть в существующем разделе.
98+
- Повторять полное описание cross-cutting фичи на нескольких страницах вместо одного основного места и коротких упоминаний.
99+
- Использовать callout для обычной инструкции без риска, совместимости или неочевидного поведения.
70100
- Документировать shortcuts или поведение без проверки реализации.
71101
- Запускать широкие formatters, которые переписывают существующий стиль docs config.
72102
- Писать литеральные `{{ ... }}` в инлайн-коде без `v-pre` — VitePress съест их как Vue-интерполяцию.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ Sketch diagrams, wireframes, and whiteboard ideas on an [Excalidraw](https://exc
138138
Built-in utilities for the small tasks that usually send you to a browser tab:
139139

140140
- **Compare:** JSON Diff
141-
- **Text:** Case Converter, Slug Generator, URL Parser
141+
- **Text:** Case Converter, Slug Generator, URL Parser, Line Break Normalizer
142142
- **Crypto:** Hash/HMAC Generator, Password Generator, UUID
143143
- **Encoders:** URL, Base64, JSON to TOML/XML/YAML, Color Converter
144144
- **Generators:** JSON Generator, Lorem Ipsum

docs/website/.vitepress/config.mts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ export default defineConfig({
141141
{ text: 'Sync', link: '/documentation/sync' },
142142
{ text: 'Imports', link: '/documentation/imports' },
143143
{ text: 'Clipper', link: '/documentation/clipper' },
144-
{ text: 'Themes', link: '/documentation/themes' },
144+
{ text: 'Appearance', link: '/documentation/themes' },
145145
],
146146
},
147147
{

docs/website/documentation/code/folders.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,21 @@ Right-click the folder and choose **"Default Language"**.
3535

3636
## Setting a Folder Icon
3737

38+
<AppVersion text=">=3.7" />
39+
40+
Folder icons help large libraries stay easier to scan. Right-click a folder and choose **Set Icon**. Use the **Icons** tab to search the built-in Material and Lucide icon collections.
41+
42+
To restore the default folder icon, right-click the folder and choose **Remove Icon**.
43+
44+
### Emoji and Uploaded Images
45+
3846
<AppVersion text=">=5.9" />
3947

40-
Folder icons help large libraries stay easier to scan. Right-click a folder and choose **Set Icon**, then select one of these tabs:
48+
The icon picker also supports:
4149

4250
- **Emoji** - search the Unicode emoji catalog. Emoji appearance follows your operating system.
43-
- **Icons** - search the built-in Material and Lucide icon collections.
4451
- **Upload** - choose or drop a JPG or PNG image up to 10 MB, review the preview, then click **Use image**.
4552

46-
Uploaded images are cropped from the center, resized to 128×128, and saved as PNG. To restore the default folder icon, right-click the folder and choose **Remove Icon**.
53+
Uploaded images are cropped from the center, resized to 128×128, and saved as PNG.
4754

4855
Uploaded icons are stored as a hidden `.icon.png` file inside the folder, so they stay with the folder when you back up or sync your Markdown Vault.

docs/website/documentation/code/snippets.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ Use one of these methods:
6767
- XML
6868
- YAML
6969

70+
Use **Editor** > **Normalize Line Breaks** to remove hard terminal wraps from the selection or the whole snippet. <AppVersion text=">=5.9" />
71+
7072
## Real-time Render HTML & CSS
7173

7274
<AppVersion text=">=2.9" />

docs/website/documentation/command-palette.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,9 @@ When create fallbacks are shown, press <kbd>Shift+Enter</kbd> to run the first c
6868

6969
Open the actions panel for the selected result with <kbd>Right Arrow</kbd> or <kbd>Cmd+K</kbd> on macOS and <kbd>Ctrl+K</kbd> on Windows and Linux.
7070

71-
Actions depend on the selected result. For example, you can copy a title, copy snippet content, copy an HTTP request URL, or run the selected command.
71+
Actions depend on the selected result. For example, you can copy a title, copy snippet content, duplicate a snippet or HTTP request, copy an HTTP request URL, or run the selected command.
72+
73+
You can also duplicate a note while preserving its content, description, properties, and tags. <AppVersion text=">=5.9" />
7274

7375
Use <kbd>Left Arrow</kbd> or <kbd>Esc</kbd> to close the actions panel.
7476

docs/website/documentation/http/index.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,13 @@ Importing creates HTTP folders, requests, and environments from external collect
4242

4343
HTTP requests are organized in folders. Selecting a folder shows its requests and selects the first request in that folder. Folders support nesting, drag and drop ordering, inline rename, and custom folder icons.
4444

45+
Right-click a folder and choose **Set Icon** to select a built-in Material or Lucide icon. Choose **Remove Icon** to restore the default folder icon.
46+
47+
### Emoji and Uploaded Images
48+
4549
<AppVersion text=">=5.9" />
4650

47-
Right-click a folder and choose **Set Icon** to select a platform-native emoji, a built-in Material or Lucide icon, or an uploaded JPG or PNG image. Uploaded images can be previewed before applying and are cropped from the center and resized to 128×128. Choose **Remove Icon** to restore the default folder icon.
51+
The icon picker also supports platform-native emoji and uploaded JPG or PNG images. Uploaded images can be previewed before applying and are cropped from the center and resized to 128×128.
4852

4953
## Storage
5054

docs/website/documentation/notes/folders.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,18 @@ Right-click the folder and choose **"Rename"** or **"Delete"**.
2323

2424
## Folder Icons
2525

26-
<AppVersion text=">=5.9" />
27-
2826
Folder icons make larger note libraries easier to scan. Right-click a folder and choose **Set Icon**.
2927

28+
Use the **Icons** tab to search the built-in Material and Lucide collections. Choose **Remove Icon** from the folder context menu to restore the default icon.
29+
30+
### Emoji and Uploaded Images
31+
32+
<AppVersion text=">=5.9" />
33+
3034
- **Emoji** uses the system emoji style for your platform.
31-
- **Icons** provides searchable Material and Lucide collections.
3235
- **Upload** accepts JPG or PNG images up to 10 MB and shows a preview before applying the image.
3336

34-
Uploaded images are cropped from the center, resized to 128×128, and stored as a hidden `.icon.png` file inside the folder. Choose **Remove Icon** from the folder context menu to restore the default icon.
37+
Uploaded images are cropped from the center, resized to 128×128, and stored as a hidden `.icon.png` file inside the folder.
3538

3639
## Moving Notes
3740

docs/website/documentation/notes/images.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ description: "Embed images in massCode Notes with standard markdown syntax, past
77

88
Use images when a screenshot, diagram, or visual reference belongs next to the note text.
99

10-
Images are rendered directly inside your note from standard markdown image syntax. For local images, paste an image from the clipboard or drag an image file into the editor. massCode saves new files to `notes/.masscode/assets` in your vault and inserts the markdown for you.
10+
Images are rendered directly inside your note from standard markdown image syntax. For local images, paste an image from the clipboard or drag an image file into the editor. massCode stores the file in the vault and inserts the markdown for you.
1111

1212
```md
1313
![image-name](masscode://notes-asset/generated-file-name.png)
@@ -19,9 +19,21 @@ You can also use a remote image URL:
1919
![Remote screenshot](https://example.com/screenshot.png)
2020
```
2121

22-
The `masscode://notes-asset/` URL is resolved by massCode. Other Markdown apps may not display these local images directly. When you copy or synchronize Notes between devices, include the whole vault, including the hidden `notes/.masscode` directory. Copying only Markdown files leaves their local images behind.
22+
The `masscode://notes-asset/` URL is resolved by massCode. Other Markdown apps may not display these local images directly.
2323

24+
## Managed Storage
25+
26+
<AppVersion text=">=5.9" />
27+
28+
Starting with massCode 5.9, newly pasted or dropped images are saved to `notes/.masscode/assets`. When you copy or synchronize Notes between devices, include the whole vault, including the hidden `notes/.masscode` directory. Copying only Markdown files leaves their local images behind.
29+
30+
::: warning Compatibility
2431
Vaults with images in the managed `notes/.masscode/assets` path require a massCode version that supports this layout. Older versions may not display these images.
32+
:::
33+
34+
::: info Automatic migration
35+
When a note references an image from the legacy `notes/assets` directory, massCode migrates that referenced file to managed storage and updates the note automatically. Unreferenced files are left in place.
36+
:::
2537

2638
- Paste or drag images in **Editor** and **Live Preview** modes.
2739
- View images in **Live Preview** or **Preview** mode.

docs/website/documentation/notes/index.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ Use Notes when you want to keep markdown documents close to your snippets and da
3030

3131
See [Tasks](/documentation/notes/tasks) to create task notes with structured status, priority, and due date properties.
3232

33+
To duplicate an existing note, right-click it in the Notes list and choose **Duplicate**. The copy stays in the same folder and its title is selected for renaming. <AppVersion text=">=5.9" />
34+
3335
## Dashboard
3436

3537
<AppVersion text=">=5.1" />
@@ -62,6 +64,8 @@ The editor is built on CodeMirror 6 and includes:
6264
- Right-click formatting menu in editable modes
6365
- Inline markdown formatting shortcuts in editable modes
6466
- Editable markdown tables in Live Preview
67+
- One-click copying for fenced code blocks in Live Preview and Preview <AppVersion text=">=5.9" />
68+
- Line break normalization for hard-wrapped terminal text from **Editor** > **Normalize Line Breaks** <AppVersion text=">=5.9" />
6569
- [Internal links](/documentation/notes/internal-links) to notes and snippets
6670
- [Task notes](/documentation/notes/tasks) with status, priority, due dates, and smart views
6771
- [Mermaid diagram](/documentation/notes/mermaid) support
@@ -117,6 +121,7 @@ Customize the editor appearance and behavior in preferences:
117121
- **Indent size**
118122
- **Limit width** - toggle to constrain the editor width
119123
- **Line numbers** - toggle to show or hide line numbers
124+
- **Wrap table cells** - wrap long cell content so wide tables stay within the editor <AppVersion text=">=5.9" />
120125

121126
<script setup>
122127
import { withBase } from 'vitepress'

0 commit comments

Comments
 (0)