mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-18 09:04:44 -04:00
Move docs into subdirectory to make mkdocs work in a subdirectory
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
(cherry picked from commit eaeb88401d
)
Signed-off-by: David Mehren <git@herrmehren.de>
This commit is contained in:
parent
a5ad35f94d
commit
4b7318ca33
97 changed files with 1485 additions and 524 deletions
64
docs/content/dev/api.md
Normal file
64
docs/content/dev/api.md
Normal file
|
@ -0,0 +1,64 @@
|
|||
# API documentation
|
||||
|
||||
Several tasks of HedgeDoc can be automated through HTTP requests. The available endpoints for this api are described in
|
||||
this document. For code-autogeneration there is an OpenAPIv3-compatible description available [here](openapi.yml).
|
||||
|
||||
## Notes
|
||||
|
||||
These endpoints create notes, return information about them or export them.
|
||||
You have to replace *\<NOTE\>* with either the alias or id of a note you want to work on.
|
||||
|
||||
| Endpoint | HTTP-Method | Description |
|
||||
| ---------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `/new` | `GET` | **Creates a new
|
||||
note.**<br>A random id will be assigned and the content will equal to the template (blank by default). After note creation a redirect is issued to the created note. |
|
||||
| `/new` | `POST` | **Imports some markdown data into a new
|
||||
note.**<br>A random id will be assigned and the content will equal to the body of the received HTTP-request. The `Content-Type: text/markdown` header should be set on this request. |
|
||||
| `/new/<ALIAS>` | `POST` | **Imports some markdown data into a new note with a
|
||||
|
||||
given alias.**<br>This endpoint equals to the above one except that the alias from the url will be assigned to the note
|
||||
if [FreeURL-mode](../configuration.md#users-and-privileges) is enabled. | | `/<NOTE>/download`
|
||||
or `/s/<SHORT-ID>/download` | `GET` | **Returns the raw markdown content of a note.**
|
||||
| | `/<NOTE>/publish` | `GET` | **Redirects to the published version of the note.**
|
||||
| | `/<NOTE>/slide` | `GET` | **Redirects to the slide-presentation of the
|
||||
note.**<br>This is only useful on notes which are designed to be slides. | | `/<NOTE>/info`
|
||||
| `GET` | **Returns metadata about the note.**<br>This includes the title and description of the note as well as
|
||||
the creation date and viewcount. The data is returned as a JSON object. | | `/<NOTE>/revision`
|
||||
| `GET` | **Returns a list of the available note revisions.**<br>The list is returned as a JSON object with an
|
||||
array of revision-id and length associations. The revision-id equals to the timestamp when the revision was saved. |
|
||||
| `/<NOTE>/revision/<REVISION-ID>` | `GET` | **Returns the revision of the note with some
|
||||
metadata.**<br>The revision is returned as a JSON object with the content of the note and the authorship. |
|
||||
| `/<NOTE>/gist` | `GET` | **Creates a new GitHub Gist with the note's
|
||||
content.**<br>If [GitHub integration](../configuration.md#github-login) is configured, the user will be redirected to
|
||||
GitHub and a new Gist with the content of the note will be created. |
|
||||
|
||||
## User / History
|
||||
|
||||
These endpoints return information about the current logged-in user and it's note history. If no user is logged-in, the
|
||||
most of this requests will fail with either a HTTP 403 or a JSON object containing `{"status":"forbidden"}`.
|
||||
|
||||
| Endpoint | HTTP-Method | Description |
|
||||
| ----------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `/me` | `GET` | **Returns the profile data of the current logged-in
|
||||
user.**<br>The data is returned as a JSON object containing the user-id, the user's name and a url to the profile picture. |
|
||||
| `/me/export` | `GET` | **Exports a zip-archive with all notes of the current
|
||||
user.** |
|
||||
| `/history` | `GET` | **Returns a list of the last viewed
|
||||
notes.**<br>The list is returned as a JSON object with an array containing for each entry it's id, title, tags, last visit time and pinned status. |
|
||||
| `/history` | `POST` | **Replace user's history with a new
|
||||
one.**<br>The body must be form-encoded and contain a field `history` with a JSON-encoded array like its returned from the server when exporting the history. |
|
||||
| `/history` | `DELETE` | **Deletes the user's
|
||||
history.** |
|
||||
| `/history/<NOTE>` | `POST` | **Toggles the pinned status in the history for a
|
||||
note.**<br>The body must be form-encoded and contain a field `pinned` that is either `true` or `false`. |
|
||||
| `/history/<NOTE>` | `DELETE` | **Deletes a note from the user's
|
||||
history.** |
|
||||
|
||||
## HedgeDoc-server
|
||||
|
||||
These endpoints return information about the running HedgeDoc instance.
|
||||
|
||||
| Endpoint | HTTP-Method | Description |
|
||||
| --------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `/status` | `GET` | **Returns the current status of the HedgeDoc
|
||||
instance.**<br>The data is returned as a JSON object containing the number of notes stored on the server, (distinct) online users and more. |
|
Loading…
Add table
Add a link
Reference in a new issue