Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/haydenbleasel/tiptap-extension-jira
A collection of Tiptap extensions that enable bidirectional sync with Jira.
https://github.com/haydenbleasel/tiptap-extension-jira
extension jira sync tiptap
Last synced: about 1 month ago
JSON representation
A collection of Tiptap extensions that enable bidirectional sync with Jira.
- Host: GitHub
- URL: https://github.com/haydenbleasel/tiptap-extension-jira
- Owner: haydenbleasel
- License: mit
- Created: 2024-08-10T22:21:29.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-11-01T19:51:36.000Z (about 1 month ago)
- Last Synced: 2024-11-01T20:27:41.689Z (about 1 month ago)
- Topics: extension, jira, sync, tiptap
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/tiptap-extension-jira
- Size: 403 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-tiptap - tiptap-extension-jira
- awesome-tiptap - tiptap-extension-jira
README
# tiptap-extension-jira
[![Version](https://img.shields.io/npm/v/tiptap-extension-jira.svg)](https://www.npmjs.org/package/tiptap-extension-jira) [![Build Status](https://github.com/haydenbleasel/tiptap-extension-jira/actions/workflows/push.yml/badge.svg?branch=main)](https://github.com/haydenbleasel/tiptap-extension-jira/actions?query=branch%3Amain)
A collection of [Tiptap](https://tiptap.dev/) extensions that enable bidirectional sync with Jira. It works by introducing a series of Nodes and Marks unique to the Atlassian Document Format (ADF) that can be used to render Jira content in a TipTap document.
## Features
| Extension | Type | ADF Node |
|---------|------|---------|
| Date | Node | Undocumented |
| Expand | Node | Undocumented |
| Inline Card | Node | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/inlineCard/ |
| Media | Node | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/media/ |
| Media Group | Node | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/mediaGroup/ |
| Media Single | Node | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/mediaSingle/ |
| Mention | Node | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/mention/ |
| Panel | Node | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/panel/ |
| Rule | Node | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/rule/ |
| Status | Node | Undocumented |
| Undefined | Node | Undocumented |
| Background Color | Mark | https://developer.atlassian.com/cloud/jira/platform/apis/document/marks/backgroundColor/ |
| `em` | Mark | https://developer.atlassian.com/cloud/jira/platform/apis/document/marks/em/ |
| `strong` | Mark | https://developer.atlassian.com/cloud/jira/platform/apis/document/marks/strong/ |
| `subSup` | Mark | https://developer.atlassian.com/cloud/jira/platform/apis/document/marks/subsup/ |
| `textColor` | Mark | https://developer.atlassian.com/cloud/jira/platform/apis/document/marks/textColor/ |You'll also need the following extensions from Tiptap to use this package:
| Extension | Type | Tiptap Extension | ADF Node |
|---------|-------------|------|------|
| Blockquote | Node | https://tiptap.dev/docs/editor/extensions/nodes/blockquote | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/blockquote/ |
| Bullet List | Node | https://tiptap.dev/docs/editor/extensions/nodes/bullet-list | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/bulletList/ |
| Code Block | Node | https://tiptap.dev/docs/editor/extensions/nodes/code-block | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/codeBlock/ |
| Emoji | Node | https://tiptap.dev/docs/editor/extensions/nodes/emoji | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/emoji/ |
| Hard Break | Node | https://tiptap.dev/docs/editor/extensions/nodes/hard-break | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/hardBreak/ |
| Heading | Node | https://tiptap.dev/docs/editor/extensions/nodes/heading | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/heading/ |
| List Item | Node | https://tiptap.dev/docs/editor/extensions/nodes/list-item | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/listItem/ |
| Ordered List | Node | https://tiptap.dev/docs/editor/extensions/nodes/ordered-list | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/orderedList/ |
| Paragraph | Node | https://tiptap.dev/docs/editor/extensions/nodes/paragraph | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/paragraph/ |
| Table | Node | https://tiptap.dev/docs/editor/extensions/nodes/table | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/table/ |
| Table Cell | Node | https://tiptap.dev/docs/editor/extensions/nodes/table-cell | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/table_cell/ |
| Table Header | Node | https://tiptap.dev/docs/editor/extensions/nodes/table-header | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/table_header/ |
| Table Row | Node | https://tiptap.dev/docs/editor/extensions/nodes/table-row | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/table_row/ |
| Text | Node | https://tiptap.dev/docs/editor/extensions/nodes/text | https://developer.atlassian.com/cloud/jira/platform/apis/document/nodes/text/ |
| Code | Mark | https://tiptap.dev/docs/editor/extensions/marks/code | https://developer.atlassian.com/cloud/jira/platform/apis/document/marks/code/ |
| Link | Mark | https://tiptap.dev/docs/editor/extensions/marks/link | https://developer.atlassian.com/cloud/jira/platform/apis/document/marks/link/ |
| Strike | Mark | https://tiptap.dev/docs/editor/extensions/marks/strike | https://developer.atlassian.com/cloud/jira/platform/apis/document/marks/strike/ |
| Underline | Mark | https://tiptap.dev/docs/editor/extensions/marks/underline | https://developer.atlassian.com/cloud/jira/platform/apis/document/marks/underline/ |## Installation
```bash
pnpm add tiptap-extension-jira
```## Usage
### Client
```ts
import { Jira } from 'tiptap-extension-jira';const editor = new Editor({
extensions: [...Object.values(Jira)],
});
```You can modify any of the extensions, for example:
```ts
import { Jira } from 'tiptap-extension-jira';const { Mention, ...rest } = Jira;
const mention = Jira.Mention.configure({
suggestion: createMentionSuggestions([
'Hayden',
'Gavin',
'Anna',
]),
});const editor = new Editor({
extensions: [mention, ...Object.values(rest)],
});
```I also recommend adding the following Tailwind CSS to your project:
```css
/* Panel */
div[data-panel-type] {
@apply p-4 bg-muted rounded-md my-4;
}div[data-panel-type] > *:last-child {
@apply mb-0;
}div[data-panel-type="info"] {
@apply bg-sky-50 text-sky-800;
}div[data-panel-type="note"] {
@apply bg-indigo-50 text-indigo-800;
}div[data-panel-type="success"] {
@apply bg-emerald-50 text-emerald-800;
}div[data-panel-type="warning"] {
@apply bg-amber-50 text-amber-800;
}div[data-panel-type="error"] {
@apply bg-rose-50 text-rose-800;
}
```### Server
If you are running this in a headless environment, you can use the Server extension instead:
```ts
import { Jira } from 'tiptap-extension-jira/server';const editor = new Editor({
extensions: [...Object.values(Jira)],
});
```