Узнать больше

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

Эта структура масштабируется от небольших проектов до крупных фреймворков.

Связанные руководства

Markdown для документации программного обеспечения | Markdown2ANY | Markdown2ANY