Документация API часто начинается с Word проекта спецификации, описания конечных точек или устаревшего справочника. Миграция этого содержимого на современную платформу документации означает преобразование его в Markdown (или формат, полученный из него). В данном руководстве рассматривается наилучший подход к Word к API документации преобразование.
Почему перенести API Документы на Markdown
Современные API платформы документации построены вокруг Markdown и/или OpenAPI:
- GitHub / GitLab Markdown README и страницы вики
- Я не знаю, что это значит. Документы на основе Markdown с интеграцией ссылок API
- GitBook Markdown файлы с структурированной навигацией
- Редуктивно Markdown описания, встроенные в спецификации OpenAPI
- Сланцевая Документы на основе Ruby из файлов Markdown
Начиная с чистого Markdown от WordToMD означает, что вы можете нацелиться на любую из этих платформ.
Преобразование API документации из Word
- Откройте проект спецификации или документации Word API
- Перетащить файл .docx на WordToMD
- Проверка вывода обратите особое внимание на таблицы (часто используемые для списков параметров) и блоки кода
- Загрузить или скопировать Markdown
Структура API Ссылка Markdown
Документация API имеет стандартную структуру. После преобразования организуйте в следующую схему:
# API Reference
## Authentication
All requests require an API key in the `Authorization` header.
```http
Authorization: Bearer YOUR_API_KEY
Конечные показатели
GET/пользователи
Возвращает список всех пользователей.
Параметры
| Наименование | Тип | Требуется | Описание |
|---|---|---|---|
limit | integer | Нет , нет , нет . | Максимальные результаты (по умолчанию: 20) |
offset | integer | Нет , нет , нет . | Смещение страниц |
Ответ
{
"users": [
{ "id": 1, "name": "Alice" }
],
"total": 42
}
## Parameter Tables
Word tables often contain parameter definitions. These convert cleanly to GFM tables:
```markdown
| Parameter | Type | Description |
|---|---|---|
| `api_key` | string | Your API key |
| `format` | string | Response format: `json` or `xml` |
| `limit` | integer | Number of results (max 100) |
Подробности форматирования таблицы см. Markdown Таблицы: полное руководство.
Примеры кода
API документация в значительной степени опирается на образцы кода. После преобразования с WordToMD, форматные блоки кода с идентификаторами языка:
```bash
curl -X POST https://api.example.com/v1/users \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Alice", "email": "alice@example.com"}'
```
```python
import requests
response = requests.post(
"https://api.example.com/v1/users",
headers={"Authorization": "Bearer TOKEN"},
json={"name": "Alice", "email": "alice@example.com"}
)
```
См. также: Markdown Руководство по блокам кода для всех поддерживаемых языковых идентификаторов.
Интеграция с OpenAPI / Swagger
Спецификации OpenAPI используют YAML или JSON, а не Markdown , но описания Markdown встроены в спецификацию:
paths:
/users:
get:
summary: List users
description: |
Returns a paginated list of all users.
Supports filtering by `status` and `role`.
parameters:
- name: limit
in: query
description: "Maximum number of results (default: 20, max: 100)"
schema:
type: integer
В связи с description Поле принимает Markdown. Копируйте соответствующий текст описания из преобразованного Markdown и вставьте его в спецификацию OpenAPI YAML.
ReadMe.io Рабочий процесс
ReadMe.io - популярная платформа для документирования API:
- Преобразовать ваши _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ WordToMD
- В ReadMe, создать новую страницу руководства
- Перейти на Markdown редактора
- Вставить преобразованный Markdown
- Ссылка на вашу API ссылку (генерированную из OpenAPI) с страниц руководства
ReadMe отображает стандартный Markdown плюс некоторое персонализированное синтаксисное сокращение.
GitBook для API Документов
Для ссылочного сайта API в GitBook см. Word к Markdown для GitBook. GitBook works well for documentation-heavy APIs where narrative guides are as important as the reference.
Заголовки в API Документации
API справочные документы требуют последовательной иерархии заголовков для навигации:
#Заголовок документа/категории##Ресурс или раздел (e.g., Аутентификация, Пользователи, Заказы)###Индивидуальная конечная точка (e.g., GET /users, POST /orders)####Подкомпоненты (e.g., Организм запроса, Ответ)
Применять эту структуру после преобразования. См. также: Markdown Руководство по заголовкам.
Версия API Документация
Для API-документов с версией:
- Использовать отдельные файлы по версии (
v1/,v2/Справочники) - Или использовать версионные разветвления в Git
- Включить версию в заголовке или первом заголовке
# API Reference v2.1
FAQ
Мой Word doc имеет примеры запроса/ответа HTTP в виде форматированного текста. Они будут правильно обращаться?
Преформатированный текст (чертеж Courier/monospace) преобразуется в встроенный код. Многолинейные блоки могут нуждаться в ручной ограждении. Добавить ```http or ```json Ограждение вокруг них после преобразования.
Могу ли я генерировать спецификацию OpenAPI из Word документа? Не напрямую OpenAPI требует машиночитаемой структуры YAML/JSON. Но вы можете использовать преобразованный Markdown в качестве источника для описаний и вручную собирать или генерировать OpenAPI YAML.
А как насчет интерактивных функций "Попробуй"? Такие платформы, как ReadMe и Redocly, добавляют функциональность Try It к спецификациям OpenAPI. Содержание Markdown представляет собой повествовательную часть; OpenAPI представляет собой спецификацию для машинного чтения. Это отдельные проблемы.
Есть ли способ подтвердить мою API документацию Markdown?
Используйте линтер, как markdownlint для проблем с синтаксисом, и предварительный просмотр функции вашей платформы документации для обнаружения проблем с рендерингом.
Заключение
Преобразование Word к Markdown для API документации является первым шагом в модернизации ваших API документов. WordToMD обрабатывает конвертацию; ваша целевая платформа (ReadMe, GitBook, Redocly или просто GitHub) обрабатывает публикацию. Сосредоточьтесь на чистой иерархии заголовков и хорошо форматированных блоках кода для наилучшего результата.