Un portail documentaire d’API avec SLATE

SLATE est un générateur de documentation API gratuit et open source. Les sources du projet peuvent être récupérées ici.

Basé sur le langage RUBY, la description de la documentation se fait via le langage MARKDOWN, langage de « simplification » du langage HTML.
SLATE permet donc de faciliter la création d’un portail documentaire d’API au design « responsive » et intuitif.

 

1 – Description graphique

Par défaut, le « template » source se compose en 3 zones :

  • Un premier bandeau latéral gauche de « menu » (1)
  • Un espace central pour les descriptifs en textes et tableaux (2)
  • Un second bandeau latéral droit pour la correspondance technique de la ressource API décrite (3)

La zone 3 se compose d’un espace pour la requête et un autre pour la réponse.
L’espace pour la requête a l’avantage de pouvoir proposer une navigation par onglets des descriptions de différents langages d’une ressource API donnée avec une coloration syntaxique prédéfinie du langage choisi.
Le projet couvre plus d’une centaine de langages sans aucune configuration particulière requise au-delà de la nomination du langage choisi.

# Kittens

## Get All Kittens

```ruby
require 'kittn'

api = Kittn::APIClient.authorize!('meowmeowmeow')
api.kittens.get
```

```python
import kittn

api = kittn.authorize('meowmeowmeow')
api.kittens.get()
```

```shell
curl "http://example.com/api/kittens"
  -H "Authorization: meowmeowmeow"
```

```javascript
const kittn = require('kittn');

let api = kittn.authorize('meowmeowmeow');
let kittens = api.kittens.get();
```

> The above command returns JSON structured like this:

```json
[
  {
    "id": 1,
    "name": "Fluffums",
    "breed": "calico",
    "fluffiness": 6,
    "cuteness": 7
  },
  {
    "id": 2,
    "name": "Max",
    "breed": "unknown",
    "fluffiness": 5,
    "cuteness": 10
  }
]
```

 

2 – Description technique

Une fois le projet « git » récupéré sur un serveur local (Linux ou macOS), il suffit de lancer les commandes suivantes pour lancer l’installation puis la compilation des sources et le déploiement du portail :

$ bundle install
$ bundle exec middleman server
Expected string default value for '--instrument'; got false (boolean)
== The Middleman is loading
== View your site at "http://localhost:4567", "http://127.0.0.1:4567"
== Inspect your site configuration at "http://localhost:4567/__middleman", "http://127.0.0.1:4567/__middleman"

Le portail est alors accessible via l’URL suivante : http://localhost:4567

Le répertoire des sources se compose d’une arborescence de dossiers, simple et intelligible, avec comme fichier « maître » un fichier « index.html.md » :

---
title: API Reference

language_tabs: # must be one of https://git.io/vQNgJ
  - shell
  - ruby
  - python
  - javascript

toc_footers:
  - <a href='#'>Sign Up for a Developer Key</a>
  - <a href='https://github.com/lord/slate'>Documentation Powered by Slate</a>

includes:
  - errors

search: true
---

# Introduction

Welcome to the Kittn API! You can use our API to access Kittn API endpoints, which can get information on various cats, kittens, and breeds in our database.

We have language bindings in Shell, Ruby, Python, and JavaScript! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

This example API documentation page was created with [Slate](https://github.com/lord/slate). Feel free to edit it and use it as a base for your own API's documentation.
...

Quand le portail est déployé, toute modification des sources est auto-compilée avec traces en cas d’erreurs affichées dans le terminal.

Quelques sociétés utilisant SLATE :

 

1 réflexion sur “Un portail documentaire d’API avec SLATE”

  1. Ping : Master Note Middleware 2019 - EASYTEAM

Les commentaires sont fermés.