Skip to content

Live API documentation #4755

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 36 commits into from
Mar 3, 2017
Merged

Live API documentation #4755

merged 36 commits into from
Mar 3, 2017

Conversation

tomchristie
Copy link
Member

@tomchristie tomchristie commented Dec 15, 2016

In progress.

API documentation, together with integrated code samples, and API explorer:

screen shot 2017-02-05 at 20 06 04

0mi3bg6oje

TODO:

  • Handle errors
  • Handle form encodings in JS client
  • Handle array/object controls in docs modal
  • Handle select multiple in docs modal
  • Login/logout. Authentication.
  • Improve interaction modal. Request/Response. Graceful JSON, Text, HTML display in response.
  • Finalize coredocs approach. Now included directly in REST framework.
  • Fix anchor links
  • Use choice key, not value
  • Ordering in form
  • Synchronous schema loading for JavaScript
  • Add schema title & description
  • Vendor coreapi.js library directly into the docs
  • Graceful behavior when optionals not present (pygments, markdown->FencedBlock)
  • Ensure layers other than 2 deep also supported.
  • Authentication API - finalise in JS, review in Python, command line (inc eg. cookies, CSRF)
  • Required-ness (eg. Ignore unselected select. review null/blank behavior)
  • Handling parameter failures (eg cannot coerce type)
  • Handle file uploads
  • Named bodies (OpenAPI data types are all named "data" core-api/python-openapi-codec#28)
  • Update tutorial
  • Refresh Core API docs
  • Javascript library docs
  • Add choice displays

@tomchristie tomchristie added this to the 3.6.0 Release milestone Dec 15, 2016
manosim and others added 8 commits February 27, 2017 19:24
* Authentication token modal & licenses
* `none` menu item & Fix clear response
* Pass authorisation header to coreapi client
* Session Authentication
* Fix bug with data/raw response both being displayed
* Bump coreapi & remove it from static files
* Default to session authentication if logged in
* Basic Authentication & Favicon
* Rename token to header authentication
@tomchristie
Copy link
Member Author

There's some loose ends still to work on here, but not too major. No reason not to merge this into master now. Release planned to follow next week.

@tomchristie tomchristie merged commit 68d2020 into master Mar 3, 2017
@tomchristie tomchristie deleted the docs branch March 3, 2017 15:24
from django import template
from django.template import loader
from django.utils import six
from django.utils.encoding import force_text, iri_to_uri
from django.utils.html import escape, format_html, smart_urlquote
from django.utils.safestring import SafeData, mark_safe
from markdown.extensions.fenced_code import FencedBlockPreprocessor
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This import makes markdown non-optional. c.f. carltongibson/django-filter#658

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants