mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-07-29 11:02:28 +08:00
156 lines
5.5 KiB
Markdown
156 lines
5.5 KiB
Markdown
![]() |
@tomaitken/ckeditor5-footnotes
|
||
|
==============================
|
||
|
|
||
|
This package was created by the [ckeditor5-package-generator](https://www.npmjs.com/package/ckeditor5-package-generator) package. It is essentially lifted from the [ForumMagnum Footnote Plugin](https://github.com/ForumMagnum/ForumMagnum/tree/master/public/lesswrong-editor/src/ckeditor5-footnote/src) with only minor modifications. All intellectual credit should go to the developers of this plugin.
|
||
|
|
||
|
## Table of contents
|
||
|
|
||
|
* [Usage](#usage)
|
||
|
* [Developing the package](#developing-the-package)
|
||
|
* [Available scripts](#available-scripts)
|
||
|
* [`start`](#start)
|
||
|
* [`test`](#test)
|
||
|
* [`lint`](#lint)
|
||
|
* [`stylelint`](#stylelint)
|
||
|
* [`build:dist`](#builddist)
|
||
|
* [`translations:collect`](#translationscollect)
|
||
|
* [`translations:download`](#translationsdownload)
|
||
|
* [`translations:upload`](#translationsupload)
|
||
|
* [`ts:build` and `ts:clear`](#tsbuild-and-tsclear)
|
||
|
* [License](#license)
|
||
|
|
||
|
## Usage
|
||
|
Install via NPM / yarn.
|
||
|
|
||
|
Then import code and CSS:
|
||
|
```
|
||
|
import '@tomaitken/ckeditor5-footnotes/index.css';
|
||
|
|
||
|
import { Footnotes } from '@tomaitken/ckeditor5-footnotes';
|
||
|
```
|
||
|
|
||
|
Then add this `Footnotes` import to the plugins list and the string `'footnote'` to the toolbar buttons.
|
||
|
|
||
|
## Developing the package
|
||
|
|
||
|
To read about the CKEditor 5 Framework, visit the [CKEditor 5 Framework documentation](https://ckeditor.com/docs/ckeditor5/latest/framework/index.html).
|
||
|
|
||
|
## Available scripts
|
||
|
|
||
|
NPM scripts are a convenient way to provide commands in a project. They are defined in the `package.json` file and shared with people contributing to the project. It ensures developers use the same command with the same options (flags).
|
||
|
|
||
|
All the scripts can be executed by running `yarn run <script>`. Pre and post commands with matching names will be run for those as well.
|
||
|
|
||
|
The following scripts are available in the package.
|
||
|
|
||
|
### `start`
|
||
|
|
||
|
Starts an HTTP server with the live-reload mechanism that allows previewing and testing of plugins available in the package.
|
||
|
|
||
|
When the server starts, the default browser will open the developer sample. This can be disabled by passing the `--no-open` option to that command.
|
||
|
|
||
|
You can also define the language that will translate the created editor by specifying the `--language [LANG]` option. It defaults to `'en'`.
|
||
|
|
||
|
Examples:
|
||
|
|
||
|
```bash
|
||
|
# Starts the server and open the browser.
|
||
|
yarn run start
|
||
|
|
||
|
# Disable auto-opening the browser.
|
||
|
yarn run start --no-open
|
||
|
|
||
|
# Create the editor with the interface in German.
|
||
|
yarn run start --language=de
|
||
|
```
|
||
|
|
||
|
### ~`test`~
|
||
|
|
||
|
There are no tests for this plugin! Too lazy!
|
||
|
|
||
|
|
||
|
### `lint`
|
||
|
|
||
|
Runs ESLint, which analyzes the code (all `*.ts` files) to quickly find problems.
|
||
|
|
||
|
Examples:
|
||
|
|
||
|
```bash
|
||
|
# Execute eslint.
|
||
|
yarn run lint
|
||
|
```
|
||
|
|
||
|
### `stylelint`
|
||
|
|
||
|
Similar to the `lint` task, stylelint analyzes the CSS code (`*.css` files in the `theme/` directory) in the package.
|
||
|
|
||
|
Examples:
|
||
|
|
||
|
```bash
|
||
|
# Execute stylelint.
|
||
|
yarn run stylelint
|
||
|
```
|
||
|
|
||
|
### `build:dist`
|
||
|
|
||
|
Creates npm and browser builds of your plugin. These builds can be added to the editor by following the [Configuring CKEditor 5 features](https://ckeditor.com/docs/ckeditor5/latest/getting-started/setup/configuration.html) guide.
|
||
|
|
||
|
Examples:
|
||
|
|
||
|
```bash
|
||
|
# Builds the `npm` and browser files thats are ready to publish.
|
||
|
npm run build:dist
|
||
|
```
|
||
|
|
||
|
### `translations:collect`
|
||
|
|
||
|
Collects translation messages (arguments of the `t()` function) and context files, then validates whether the provided values do not interfere with the values specified in the `@ckeditor/ckeditor5-core` package.
|
||
|
|
||
|
The task may end with an error if one of the following conditions is met:
|
||
|
|
||
|
* Found the `Unused context` error – entries specified in the `lang/contexts.json` file are not used in source files. They should be removed.
|
||
|
* Found the `Context is duplicated for the id` error – some of the entries are duplicated. Consider removing them from the `lang/contexts.json` file, or rewrite them.
|
||
|
* Found the `Context for the message id is missing` error – entries specified in source files are not described in the `lang/contexts.json` file. They should be added.
|
||
|
|
||
|
Examples:
|
||
|
|
||
|
```bash
|
||
|
yarn run translations:collect
|
||
|
```
|
||
|
|
||
|
### `translations:download`
|
||
|
|
||
|
Download translations from the Transifex server. Depending on users' activity in the project, it creates translation files used for building the editor.
|
||
|
|
||
|
The task requires passing the URL to Transifex API. Usually, it matches the following format: `https://www.transifex.com/api/2/project/[PROJECT_SLUG]`.
|
||
|
|
||
|
To avoid passing the `--transifex` option whenever you call the command, you can store it in `package.json`, next to the `ckeditor5-package-tools translations:download` command.
|
||
|
|
||
|
Examples:
|
||
|
|
||
|
```bash
|
||
|
yarn run translations:download --transifex [API URL]
|
||
|
```
|
||
|
|
||
|
### `translations:upload`
|
||
|
|
||
|
Uploads translation messages onto the Transifex server. It allows users to create translations into other languages using the Transifex platform.
|
||
|
|
||
|
The task requires passing the URL to the Transifex API. Usually, it matches the following format: `https://www.transifex.com/api/2/project/[PROJECT_SLUG]`.
|
||
|
|
||
|
To avoid passing the `--transifex` option whenever you call the command, you can store it in `package.json`, next to the `ckeditor5-package-tools translations:upload` command.
|
||
|
|
||
|
Examples:
|
||
|
|
||
|
```bash
|
||
|
yarn run translations:upload --transifex [API URL]
|
||
|
```
|
||
|
|
||
|
### `ts:build` and `ts:clear`
|
||
|
|
||
|
These scripts compile TypeScript and remove the compiled files. They are used in the aforementioned life cycle scripts, and there is no need to call them manually.
|
||
|
|
||
|
## License
|
||
|
|
||
|
The `@tomaitken/ckeditor5-footnotes` package is available under [IST license](https://opensource.org/licenses/IST).
|