Today we've released some improvements to our code highlighting support across pages and our API Explorer!
Pages
In addition to the slew of languages we already supported, we've released improved fixes to Kotlin rendering as well as the addition of support for Dockerfile and PowerShell.
API Explorer
Similarly, we have also released the support for C, C++, Kotlin, and PowerShell to our API Explorer.
<Image width="100%" src="https://files.readme.io/066f992-Screen_Shot_2019-08-08_at_11.30.11_AM.png" />
This past week we released v3.4 of our CLI tool [rdme](https://www.npmjs.com/package/rdme), and with it brought a heap of quality of life improvements.
## Improved Documentation
We've completely overhauled our `help` command to allow to fully document all commands, arguments, and options. You can now access help for any command via wither `rdme help <command>` or `rdme <command> --help`.
Additionally, we've also created a number of new command groupings, which now allows us to surface similar commands on a commands help screen. For example, if you're using `rdme versions` and want to see other version-related things you can do, `rdme versions --help` will tell you about `rdme versions:create`, `rdme versions:update`, and `rdme versions:delete`!
## Improved Error Handling
A common problem we've had with `rdme` was that error handling was never consistent. In one command, you might get a helpful error message, and another you receive back a raw JSON dump from our API. We've taken this as an opportunity to rework how we handle failure states to account for, and properly handle, the various ways a command may fail.
Now in v3.4+, you will receive a helpful, color-coded, error message explaining what you (or us!) maybe have done to necessitate an error state. If all else fails, and we've unfortunately failed to catch the error properly, we'll now direct you to contact our wonderful support team who can assist you.
## New commands
In addition to the gamut of QOL improvements, we've also released a couple new commands:
<Table align={["left","left"]}>
<thead>
<tr>
<th>
Command
</th>
<th>
Description
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
`rdme logout`
</td>
<td>
Logs the currently authenticated user out of ReadMe.
</td>
</tr>
<tr>
<td>
`rdme whoami`
</td>
<td>
Displays the current user and project authenticated with ReadMe.
</td>
</tr>
</tbody>
</Table>
We're proud to offer endpoints for programmatic version control! Now you can manage your project versions directly through our rdme command line interface, or RESTful requests in your application.
If you'd like to to spin up a new version in your CI pipeline for behavioral testing, you can do that too!
Command Line Interface
You can interact with the service for typical CRUD operations:
Command
Description
rdme versions
Get a single version or multiple versions.
<tr>
<td>
rdme versions:create
</td>
<td>
Create a new version: Create a new version within your target project. Choose the version to fork from, make it beta, public, or even promote it to your main version.
</td>
</tr>
<tr>
<td>
rdme versions:update
</td>
<td>
Update a version: Allows you to change the beta and public status of a version, codename subtext, deprecate it or make it your main.
</td>
</tr>
<tr>
<td>
rdme versions:delete
</td>
<td>
Delete a version (if not it's not your main!).
</td>
</tr>
Using the CLI should be consistent with existing interactions; just use the version command! You can find all of the flags and additional documentation for the CLI here: rdme.
rdme versions:delete [--key key] --version=`{Version}`;
Version X.X.X deleted successfully
RESTful Requests
You can additionally interact with the versions API as you would with any other traditional REST-oriented service. Be sure to include your authorization via your ReadMe project! Depending on the request, you can provide a selection of body data to create and modify your versions.
curl -X GET \
https://dash.readme.io/api/v1/version \
-u ${YOUR_TOKEN}:
curl -X GET \
https://dash.readme.io/api/v1/version/X.X.X \
-u ${YOUR_TOKEN}:
As an API documentation platform, we at ReadMe are always excited to contribute in the public-facing service space. Programmatic version control has been a much requested feature, and we're happy to offer and support it going forward.
Since we've been working hard on a lot of of new features, we wanted a way to announce all of the cool things we are building here at ReadMe. Since we already had Changelog functionality built into our platform, we gave it a coat of paint and new functionality to really make it shine!
Now you can embed a widget anywhere you want, and your users can see all of your posts without ever leaving the product!
Along with the widget functionality, we also added five new top-level Changelog types to enhance readability (or No Type if you're old-school and/or indecisive):
The new Changelog (and the embeddable widget) is available now. All existing Changelogs have been migrated over to the new format. Please contact support if you see any issues!
We hope these improvements empower your users with the knowledge to take advantage of your latest and greatest product updates! 🎉