blob: 44b9c679802ee916ba0c9c06702c47c72d439f3e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
[[!meta title="Restclient and org-mode for Api Documentation and Testing - Mackenzie Bligh"]]
[[!meta copyright="Copyright © 2019 Mackenzie Bligh"]]
[[!template id=vid
src="https://mirror.csclub.uwaterloo.ca/emacsconf/2019/emacsconf-2019-29-restclient-and-org-mode-for-api-documentation-and-testing--mackenziebligh.webm"
type="video/webm"]]
### Download
- [Video](https://mirror.csclub.uwaterloo.ca/emacsconf/2019/emacsconf-2019-29-restclient-and-org-mode-for-api-documentation-and-testing--mackenziebligh.webm) (720p)
### Transcript
- Hi everyone, my name is Mack, I am a back-end software engineer with
?Tarot? in San Francisco, and I'd like to talk to you today about
how I integrate Emacs with RestClient and Org-mode into my daily
workflow for documenting and testing APIs. All of the materials for
this talk can be found in EmacsConf 2019 repo with the url here
<https://github.com/mack1070101/emacs-conf-2019>. This example uses
restclient.el, which is a domain specific language for working with
restful APIs and OBRestClient to provide the wrappers for Org-mode,
however these are just the wrappers for what I use, the principles I
demo here can work with any set of programming languages that's
supported by Org-mode and has network calls.
- So I find this way of writing documentation great because it helps
people get into using Emacs and provides a shallow learning curve
without being overwhelming of how to use Emacs. The second thing
that's great about it is it helps support maintenance of
documentation, because the documentation itself is actually used to
interact with APIs. Therefore it's providing utility to developers
and they can use it and maintain it all at the same time. As an
added benefit you have full Org-mode support for task management
doing things like exporting to other formats, building scripts via
tangling, as well as writing very complex API interactions by
feeding the output of one API into the input of another API.
- I tend to favor using ELisp for simple things like building
requests, log in strings, things like that as you'll see. I do try
to avoid using languages or tooling that aren't integrated with
Emacs, however if it makes my life easier I'll use ubiquitous tools
like curl and jq as needed. I've included a mock server that I
already have running here, and you can find details about how to get
that set up if you're interested in the repo and link up above. So
let's jump right in.
- Here is provided a sample document for a stock trading
application. We've got
To be completed later.
|