Markdown для документации программного обеспечения
Документация, которая живёт вместе с вашим кодом
Попробовать экспорт документацииОтличное программное обеспечение заслуживает отличной документации. Markdown стал стандартом для документации ПО, потому что он живёт рядом с кодом, отслеживает изменения с контролем версий и красиво отображается везде — от GitHub до вашего сайта документации.
Это руководство охватывает лучшие практики написания эффективной документации ПО в Markdown.
Почему Markdown для документации?
Живёт вместе с кодом
Храните документацию в том же репозитории, что и код. Когда код меняется, документация может измениться в том же коммите. Никаких отдельных вики для поддержки или синхронизации.
Контроль версий
Изменения документации отслеживаются так же, как изменения кода. Рецензируйте обновления документации в pull request. Откатывайте при необходимости. Видьте, кто что написал и когда.
Независимость от платформы
Markdown отображается на GitHub, GitLab, Bitbucket, сайтах документации и бесчисленном множестве других платформ. Пишите один раз — отображайте везде.
Лучшие практики README
Ваш README часто первое, что видят пользователи. Сделайте его значимым.
Основные разделы
# Project Name
Brief description of what this project does.
## Installation
```bash
npm install your-package
```
## Quick Start
```javascript
import { feature } from 'your-package';
feature.doSomething();
```
## Documentation
Link to full docs.
## Contributing
How to contribute.
## License
MITДокументация API
Документируйте API понятно с единообразным форматированием:
## `createUser(options)`
Creates a new user account.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `name` | string | Yes | User's display name |
| `email` | string | Yes | User's email address |
| `role` | string | No | User role (default: "user") |
### Returns
`Promise<User>` - The created user object.
### Example
```javascript
const user = await createUser({
name: 'Jane Doe',
email: 'jane@example.com'
});
```Единообразная структура помогает разработчикам быстро найти нужное.
Руководства пользователя и обучающие материалы
Пошаговая документация помогает пользователям достигать успеха:
## Getting Started with Authentication
This guide walks through setting up authentication.
### Prerequisites
- Node.js 18+
- An API key (get one at dashboard.example.com)
### Step 1: Install the Package
```bash
npm install @example/auth
```
### Step 2: Configure Your Environment
Create a `.env` file:
```
AUTH_API_KEY=your-api-key-here
```
### Step 3: Initialize Authentication
```javascript
import { initAuth } from '@example/auth';
const auth = initAuth({
apiKey: process.env.AUTH_API_KEY
});
```Блоки кода и синтаксис
Используйте функции GitHub-Flavored Markdown для технического контента:
Подсветка для конкретных языков
```python
def greet(name: str) -> str:
return f"Hello, {name}!"
```Подсветка изменений
```diff
- const old = "previous";
+ const new = "updated";
```Имена файлов
Показывайте, какой файл нужно редактировать:
**`config/settings.json`**
```json
{
"debug": true
}
```Узнайте больше в нашем руководстве по продвинутым функциям.
Поддержание документации
Поддерживайте актуальность
- Обновляйте документацию в том же PR, что и изменения кода
- Рецензируйте документацию во время код-ревью
- Удаляйте документацию для устаревших функций
Проверка ссылок
Битые ссылки раздражают пользователей. Периодически проверяйте, что внутренние и внешние ссылки всё ещё работают.
Экспорт для распространения
Нужно поделиться документацией за пределами репозитория? Экспортируйте в HTML для веб-хостинга или PDF для офлайн-доступа.
Структура документации
Организуйте крупные наборы документации с чёткой иерархией:
docs/
├── README.md # Overview and quick start
├── getting-started/
│ ├── installation.md
│ └── configuration.md
├── guides/
│ ├── authentication.md
│ └── deployment.md
├── api/
│ ├── overview.md
│ └── endpoints.md
└── contributing.mdЭта структура масштабируется от небольших проектов до крупных фреймворков.
Связанные руководства
- GitHub-Flavored Markdown — функции GFM для документации
- Продвинутые возможности Markdown — расширенный синтаксис
- Руководство по конвертации Markdown в HTML — веб-документация