111 lines
3.9 KiB
Markdown
111 lines
3.9 KiB
Markdown
# Kirby – Code editor
|
||
|
||
Code editor field for Kirby 3 and 4.
|
||
|
||

|
||
|
||
<br/>
|
||
|
||
## Overview
|
||
|
||
> This plugin is completely free and published under the MIT license. However, if you are using it in a commercial project and want to help me keep up with maintenance, please consider [making a donation of your choice](https://paypal.me/sylvainjl) or purchasing your license(s) through [my affiliate link](https://a.paddle.com/v2/click/1129/36369?link=1170).
|
||
|
||
- [1. Installation](#1-installation)
|
||
- [2. Setup](#2-setup)
|
||
- [3. Options](#3-options)
|
||
- [4. Available languages](#4-available-languages)
|
||
- [5. License](#5-license)
|
||
- [6. Credits](#6-credits)
|
||
|
||
<br/>
|
||
|
||
## 1. Installation
|
||
|
||
Download and copy this repository to ```/site/plugins/code-editor```
|
||
|
||
Alternatively, you can install it with composer: ```composer require sylvainjule/code-editor```
|
||
|
||
<br/>
|
||
|
||
## 2. Setup
|
||
|
||
This field adds a code editor in the panel:
|
||
|
||
```yaml
|
||
editor:
|
||
label: My code editor
|
||
type: code-editor
|
||
```
|
||
|
||
<br/>
|
||
|
||
## 3. Options
|
||
|
||
| Name | Type | Default | Options | Description |
|
||
| -------------------- | ------------------ | ------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||
| language | `String` | `'css'` | - | Syntax mode of the editor. See below for available languages |
|
||
| size | `String` | `'small'` | - | Min height of the editor. `small / medium / large / huge` |
|
||
| lineNumbers | `Boolean` | `true` | - | Whether to show line numbers. |
|
||
| tabSize | `number` | `4` | - | The number of characters to insert when pressing tab key. |
|
||
| insertSpaces | `boolean` | `true` | - | Whether to use spaces for indentation. If you set it to `false`, you might also want to set `tabSize` to `1` |
|
||
| ignoreTabKey | `boolean` | `false` | - | Whether the editor should ignore tab key presses so that keyboard users can tab past the editor. Users can toggle this behaviour using `Ctrl+Shift+M` (Mac) / `Ctrl+M` manually when this is `false`. |
|
||
|
||
|
||
Note that you can make the default height any height you want with some [custom panel CSS](https://getkirby.com/docs/reference/system/options/panel#custom-panel-css). First, set the `size` option to any string you'd like:
|
||
|
||
```yaml
|
||
size: custom-size
|
||
```
|
||
|
||
Then in your `panel.css`:
|
||
|
||
```css
|
||
.k-code-editor-input[data-size="custom-size"] {
|
||
min-height: 15rem;
|
||
}
|
||
```
|
||
|
||
### 3.1. Default options
|
||
|
||
You can globally override the default options, instead of setting them on a per-field basis. In your `site/config/config.php`:
|
||
|
||
```php
|
||
return [
|
||
'sylvainjule.code-editor.language' => 'css',
|
||
'sylvainjule.code-editor.size' => 'small',
|
||
'sylvainjule.code-editor.lineNumbers' => true,
|
||
'sylvainjule.code-editor.tabSize' => 4,
|
||
'sylvainjule.code-editor.insertSpaces' => true,
|
||
'sylvainjule.code-editor.ignoreTabKey' => false,
|
||
];
|
||
```
|
||
|
||
<br/>
|
||
|
||
## 4. Available languages
|
||
|
||
Currently supported languages are:
|
||
|
||
* `css`
|
||
* `javascript`
|
||
* `json`
|
||
* `less`
|
||
* `php`
|
||
* `python`
|
||
* `ruby`
|
||
* `scss`
|
||
* `yaml`
|
||
|
||
<br/>
|
||
|
||
## 5. License
|
||
|
||
MIT
|
||
|
||
<br/>
|
||
|
||
## 6. Credits
|
||
|
||
**Code editor:**
|
||
|
||
- [Vue Prism Editor](https://github.com/koca/vue-prism-editor)
|