Thanks to Using Vue in Markdown (opens new window) feature of VuePress
, we can directly use Vue components in Markdown files.
In order to better display the content of the document, the theme has built-in several useful components, which you can use directly in any Markdown file.
Built-in components are available out of the box, and you can still write Markdown syntax content in the components.
Currently, the following components are mainly built-in:
The Block
component is mainly used to divide the page structure. Each Block
component is a content group. It is convenient for you to control the page structure freely and flexibly.
Usage:
<Block>
Contents...
</Block>
The Example
component is used to specify the content of the dark area on the right in the <Block>
component. It can clearly identify the current part of the content as a use case.
Usage:
<Block>
Contents...
<Example>
Some examples...
</Example>
</Block>
The CURL
component is a very useful component for better displaying curl
commands when writing APIs.
For example, the following content will be rendered into the form on the right:
<CURL>
```bash
curl -X POST https://api.example.com/v1/auth/login \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer [Mock token from .env file provided by vuepress-plugin-define]' \
--data '{
"username": "my-username",
"password": "my-password"
}'
```
</CURL>
The CURL
component will automatically generate a button below the component. When the button is clicked, it will analyze the parameters in the curl
command and send a request via Ajax
to the corresponding url. And output its request information to the console
panel. Convenient for quick test and preview.
curl -X POST http://api.example.com/api/auth/login \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer [Mock token from .env file provided by vuepress-plugin-define]' \
--data '{
"username": "my-username",
"password": "my-password"
}'
e.g.:
<CURL>
```bash
curl -X GET https://api.github.com/users/sqrthree
```
</CURL>
curl -X GET https://api.github.com/users/sqrthree
In addition, the content of curl
on the right can be directly edited and then sent the request with changes. The modification will take effect immediately. This is very useful when you want to modify some parameters temporarily.
The Button
component can be used anywhere on any page. You can use it to point to a link or some special content.
The supported parameters are as follows:
Name | Type | Description | Default |
---|---|---|---|
to | String | page link | "" |
size | String | Set the size of button, values: small | large | "" |
light | Boolean | Whether to use light theme | false |
Use the following code to render a button:
<Button>Default state</Button>
Rendered:
Page link:
<Button to="/">Homepage</Button>
Rendered:
HomepageMore use cases:
<Button light>Light theme</Button>
<Button to="https://github.com/sqrthree/vuepress-theme-api" light>Page link</Button>
<Button size="small" light>Other size</Button>
The Section
component is a special layout form, mainly used in Homepage Layout. Refer to Homepage | Build for RESTful API to preview.
Name | Type | Description | Default |
---|---|---|---|
theme | String | Set the theme dark \| light | "dark" |
center | Boolean | The specify which way that content is aligned | true |
enhancedMode | Boolean | Whether to enable enhanced mode | true |
Enhanced mode
Enhanced mode means that the Section
component breaks through the limit of the parent element width and achieves the same effect as the width of the browser window.
The configuration used in the homepage:
<Section>
## Build for RESTful API
A easy-to-use, minimalist theme for VuePress.
With out-of-the-box feature, all you need to do is install it and write something.
<br>
<Button type="light" to="/getting-started/">Getting Started</Button>
</Section>