Obsidian Confluence Integration Plugin is an open-source plugin for Obsidian.md that allows you to publish markdown content from Obsidian to Atlassian Confluence. It supports Obsidian markdown extensions for richer content and includes a CLI for pushing markdown files from the command line. Currently, the plugin only supports Atlassian Cloud instances.

Getting Started: Publishing and Moving Pages

This section provides a brief overview of the recommended workflow for publishing pages using the Confluence Integration plugin for Obsidian and how to move the published pages in Confluence if necessary.

Publishing Pages

  1. Install and configure the Confluence Integration plugin for Obsidian. Ensure that you have provided the required API credentials and settings.

  2. Organize your files and folders within your Obsidian vault according to your desired Confluence structure.

  3. Use YAML frontmatter to customize page properties, such as connie-title, tags, and connie-frontmatter-to-publish, as needed.

  4. Publish your pages by running the publish command provided by the Confluence Integration plugin. The plugin will upload your pages and files, maintaining the folder structure and hierarchy defined in your Obsidian vault.

Moving Pages in Confluence

If you need to move a page or a folder within Confluence, follow these steps:

  1. In Confluence, navigate to the page you want to move.

  2. Click the ellipsis (three dots) in the upper right corner of the page and select Move from the dropdown menu.

  3. Choose the new parent page or Space where you want to move the page.

  4. In Obsidian, update the corresponding file's YAML frontmatter with the connie-dont-change-parent-page property set to true. This will prevent the Confluence Integration plugin from moving the page back to its original location when matching the local file tree.

    Example:

    ---
    connie-dont-change-parent-page: true
    ---
    
  5. If you are moving an entire folder, ensure you have a Folder Note for the folder and add the connie-dont-change-parent-page property to the Folder Note as well.

  6. Run the publish command in Obsidian to update the pages with the new frontmatter settings.

By following this workflow, you can effectively publish and manage your pages in Confluence while maintaining the organization and structure of your Obsidian vault.

Installation

  1. Install the confluence-integration plugin from Obsidian's community plugins browser.
  2. Open the plugin settings and configure the following fields:
    • Confluence Base URL: The base URL of your Atlassian Confluence instance (e.g., https://your-domain.atlassian.net)
    • Confluence Parent Id: The Confluence page ID where your notes will be published as child pages
    • Atlassian User Name: Your Atlassian account's email address
    • Atlassian API Token: Your Atlassian API token. You can generate one from your Atlassian Account Settings.
    • Folder To Publish: The name of the folder in Obsidian containing the notes you want to publish (default: "Confluence Pages")

Installing plugin using Obsidian42-BRAT

To install the confluence-integration plugin using Obsidian42-BRAT, follow these steps:

Adding a beta plugin

  1. Install BRAT from the Community Plugins in Obsidian.
  2. Get the link to the GitHub repository you want to test. The plugin developer can provide you with this link. For the confluence-integration plugin, use this link: https://github.com/markdown-confluence/obsidian-integration
  3. Open the command palette and run the command BRAT: Add a beta plugin for testing
  4. Using the link from step 2, copy that into the modal that opens up.
  5. Click on Add Plugin -- wait a few seconds and BRAT will tell you what is going on.
  6. After BRAT confirms the installation, in Settings go to the Community plugins tab.
  7. Refresh the list of plugins.
  8. Find the beta plugin you just installed (confluence-integration) and Enable it.

Updating beta plugins

  • Plugins can be updated using the command palette by running the command Check for updates to all beta plugins and UPDATE.
  • Optionally, beta plugins can be configured to auto-update when starting Obsidian. This feature can be enabled in the Obsidian42- BRAT tab in settings.

Currently not everything in Obsidian is supported but slowly increasing support where possible over time.

Comment Handling

This plugin attempts to find the original location of a comment and reattach it. If it cannot determine the correct location, it will add a section to the bottom of the page and place the comment there.

Comment Matching Process

No matches found

If no matches for the text the comment was attached to are found, the comment is moved to the unmatched comment section.

Exact Match

The plugin first tries to find an exact match for the comment by comparing the text before and after the comment. If an exact match is found, the comment is attached at that location.

Distance of whole before and after

If an exact match is not found, the plugin calculates the "distance" between the text before and after the comment in the original location and each potential new location. This distance is calculated using the Levenshtein distance algorithm, which measures the number of changes (insertions, deletions, or substitutions) required to transform one string into another. If there are more than 40 changes before and after the comment text the node is excluded from being a viable option. The potential matches are sorted based on the calculated distances, and the match with the smallest distance is chosen.

Distance of 2 words before and after

If there are still multiple matches with similar distances, the plugin narrows down the selection by comparing only the words immediately surrounding the comment. The Levenshtein distance is calculated again, and the best match is chosen based on the smallest distance.

No ability to match

If no suitable match is found, the function returns undefined.

Flow chart

flowchart TD
    Start --> DoesCommentTextExist{Does comment text exist on page?}
    DoesCommentTextExist -->|Yes| DoesExactMatchExist{Does exact match before and after comment text?}
    DoesCommentTextExist -->|No| UnmatchedCommentSection[Unmatched Comment Section]
    DoesExactMatchExist -->|Yes| AttachComment[Attach Comment To This ADF Node]
    DoesExactMatchExist -->|No| CalculateLevenshtein

    subgraph WholeBeforeAfter
        CalculateLevenshtein[Calculate Levenshtein Distance Between Before and After text] --> SortByMinimumDistance[Sort by minimum distance]
        SortByMinimumDistance --> IsFirstItemMinimumDistanceUnder40{Is first item minimum distance under 40 changes?}
    end

    IsFirstItemMinimumDistanceUnder40 -->|Yes| AttachComment
    IsFirstItemMinimumDistanceUnder40 -->|No| GetXWordsBeforeAfterComment[Get X Words before and after comment]

    subgraph WordsBeforeAfter
        GetXWordsBeforeAfterComment --> TrimBeforeAndAfterToSameLength
        TrimBeforeAndAfterToSameLength --> CalculateWordsLevenshtein
        CalculateWordsLevenshtein --> IsDistanceLessThan50percentCharacters{IsDistanceLessThan50percentCharacters}
        IsDistanceLessThan50percentCharacters -->|Yes| AddToChecks
        IsDistanceLessThan50percentCharacters -->|Yes| CalculateWordsLevenshtein
        IsDistanceLessThan50percentCharacters -->|No| CalculateWordsLevenshtein
        AddToChecks --> SortByWordsMinimumDistance
        SortByWordsMinimumDistance --> IsThereAnyItems{IsThereAnyItems}
    end

    IsThereAnyItems -->|Yes| AttachComment
    IsThereAnyItems -->|No| UnmatchedCommentSection

Supported Markdown Features

The Confluence Integration plugin for Obsidian supports a variety of Markdown features, allowing you to create rich and interactive content in your Confluence pages. The following Markdown elements are supported:

Blockquotes

Blockquotes are supported and can be created using the > character followed by the text you want to quote.

Callouts

Callouts can be created using the Callouts feature, which allows you to create custom, styled callout boxes in Confluence.

Code

Code blocks and inline code can be created using triple backticks (```) for blocks and single backticks (`) for inline code.

Diagrams (Mermaid.js)

Mermaid.js diagrams are supported through the plugin's Mermaid diagram feature, which renders diagrams as images in Confluence.

Images (Image Upload Supported)

Image embedding and uploading are supported through the Image Upload feature. Images included in a page will be uploaded as attachments in Confluence. This includes support for transcluded images.

Linking

  • Wikilinks: The plugin supports basic Wikilinks functionality, allowing you to link to other files that are being published.
  • Extenal links: Rendered as a Smart Link

Headings

Headings can be created using the # character followed by the heading text. Multiple levels of headings can be created by using multiple # characters.

Horizontal Bar

Horizontal bars can be created using three hyphens (---).

Lists

Both ordered and unordered lists can be created using Markdown syntax.

Text Formatting

  • Strike-through: Text can be formatted with strike-through using double tildes (~~).
  • Emphasis: Emphasis can be added using single (*) or double (**) asterisks for italic and bold formatting, respectively.

Tables

Tables can be created using Markdown syntax with pipes (|) and hyphens (-) to define the table structure.

Callouts

Callouts can be created using the Callouts feature. This allows you to create custom, styled callout boxes in Confluence.

Folder Notes

The Folder Note feature allows you to define and manage the content for the "Folder" in Confluence by creating a file directly in the folder with the same name as the folder. This feature ensures that the file is not uploaded as a child of the page in Confluence, but instead becomes the page under which other files are uploaded.

Usage

  1. In your Obsidian vault, create a file directly within the folder you want to manage in Confluence. The file should have the same name as the folder.
  2. Add your desired content to the file, which will be used to represent the folder in Confluence.
  3. When you publish your files using the Confluence Integration plugin, the file will be uploaded to Confluence as the folder representation, and other files within the folder will be uploaded as child pages underneath it.

Benefits

By utilizing the Folder Note feature, you can achieve the following benefits:

  • Maintain a clear and organized folder structure in Confluence that matches your Obsidian vault.
  • Easily manage the content and hierarchy of your pages in Confluence.
  • Move a folder of files to a new Space in Confluence.
  • Seamlessly upload files as child pages underneath the corresponding folder representation in Confluence.

Obsidian Use

You can use this feature in Obsidian using the Obsidian folder notes plugin.

Folder Structure

The folder structure feature is designed to help you easily manage and organize your files when they are published to Confluence. The plugin will identify the first common folder and match the folder structure in your local Obsidian vault in Confluence. This also ensures the plugin will move pages on Confluence to align with your local file layout.

Usage

When you publish your files, the plugin will automatically find the first common folder and upload the files according to that folder structure.

Preventing Pages from Moving

If you don't want a specific page to be moved or you want to move a Confluence page outside of your page tree into another Space, you can use the connie-dont-change-parent-page tag. This will prevent the plugin from moving the page back to the file tree where it would expect the page to live when matching the local file tree.

---
connie-dont-change-parent-page: true
---

Moving a Folder with Folder Note

You can use the folder structure feature in conjunction with the Folder Note feature to move a whole folder of files to a new location in Confluence. By adding the connie-dont-change-parent-page tag to the Folder Note, you can prevent the pages within the folder from being moved back to their original locations in the file tree.

Image Upload

The Image Upload feature ensures that any images included in a page are uploaded as attachments for that specific page in Confluence. This means that if the same image is used in multiple pages, it is uploaded into each respective page as an attachment.

Preventing Duplicate Image Uploads

In order to avoid retrieving the image from Confluence every time the publish process is run, the plugin uses the hash (MD5) of the image file contents and stores it as a comment on the attachment. This ensures that images are uploaded only once per page and are updated only when the contents change.

To prevent conflicts with file names when uploading images to Confluence, the plugin uses the following naming convention for the uploaded images:

${Absolute Path MD5}-${Filename without path}

This naming convention helps to avoid conflicts and ensures that each uploaded image has a unique identifier.

Limitations

Currently, the Confluence Integration plugin does not support deleting images from Confluence.

References

Mermaid Diagram Support

As Confluence does not currently support Mermaid diagrams natively, the Confluence Integration plugin for Obsidian provides a workaround to enable the rendering of Mermaid diagrams. The plugin includes a copy of Mermaid that is injected into a BrowserWindow, which is then used to render each diagram and capture a screenshot as a PNG image. This image is then uploaded to Confluence for rendering.

Usage

  1. Create a Mermaid diagram in your Obsidian note using the appropriate syntax.

Insert example here

  1. When you publish your files using the Confluence Integration plugin, the plugin will automatically render the Mermaid diagram, capture a screenshot, and upload it as a PNG image to Confluence.

Insert example here

Naming Convention

To prevent conflicts with file names when uploading diagrams to Confluence, the plugin uses the following naming convention for the uploaded diagram images:

RenderedMermaidChart-${MD5 of diagram text}.png

This naming convention helps to avoid conflicts and ensures that each uploaded diagram image has a unique identifier.

Limitations

Currently, the Confluence Integration plugin does not support deleting diagram images from Confluence.

YAML Frontmatter Support

The Confluence Integration plugin for Obsidian supports various YAML frontmatter items, allowing you to customize and modify how the publish process works.

connie-title

This item allows you to override the title of the Confluence page without renaming the Obsidian file.

Example

---
connie-title: New Title
---

connie-frontmatter-to-publish

This item is set to an array of frontmatter keys that you want to include in a table at the beginning of the document.

Example

The example below will include four rows in the Frontmatter table at the beginning of the document.

---
array-singleline:
  - testing
  - testing
array-multiline:
  - testing tag1
  - testing tag2
string: Testing
boolean-value: true
connie-frontmatter-to-publish:
  - array-singleline
  - array-multiline
  - string
  - boolean-value
---

tags

This item reuses the Tags feature from Obsidian, allowing you to specify Confluence Labels that will be applied to the page. Tags must be a single string without spaces and can include a hyphen (-).

Example

---
tags:
  - testing
  - test-tag
---

connie-page-id

This item specifies the Confluence Page ID that the file will be uploaded to. It is set for every file. If it is not set when you publish a file, it will be assigned after the page has been created for that file in Confluence.

Example

---
connie-page-id: "12312"
---

connie-dont-change-parent-page

If you want to move a Confluence page outside of your page tree and into another Space, you can use this item to prevent the page from being moved back to the file tree where the plugin would expect the page to be when matching the local file tree. When used with the Folder Note feature, you can move an entire folder of files to a new location in Confluence.

Example

---
connie-dont-change-parent-page: true
---

Callouts

The Callouts feature allows you to transform Markdown callouts, also known as admonitions, into Atlassian Document Format (ADF) Panels. This feature supports both normal and foldable callouts.

Normal Callouts

Normal callouts are converted to Panels in Confluence.

Example:

> [!note]
> Lorem ipsum dolor sit amet

Foldable Callouts

Foldable callouts are converted to Expand Macros in Confluence. Note that Expand Macros do not support the same colors and formatting that Panels do.

Example:

> [!faq]- Are callouts foldable?
> Yes! In a foldable callout, the contents are hidden when the callout is collapsed.

Nested Callouts

Due to Confluence restrictions, nested callouts are not supported.

Supported Features

For more information on Obsidian callouts, visit the Obsidian documentation.

The Confluence Integration plugin for Obsidian offers basic support for Wikilinks. This support is limited to linking to other files that are being published. If a Wikilink refers to a page that is not set to be published, the link will be removed during the publishing process and will be rendered as plain text in Confluence.

Wikilinks can be used to connect pages within a single Confluence site, including across multiple spaces.

When using Wikilinks, the plugin supports three ways to provide information about the link:

[[Page To Link To]]

This syntax creates a smart link to the specified page, displaying the page title and image.

[[Page To Link To#Header]]

This syntax creates a smart link to the specified page, displaying the page title and image. The link will point to a specific header within the page.

Alias

[[Page To Link To|Alias To Display]]
[[Page To Link To#Header|Alias To Display]]

This syntax allows you to define an alias for the link, which will be displayed instead of the original page title or header. The link will be rendered as regular text that points to the specified page and header (if included).

Thank you

Changelog

5.3.0 (2023-05-11)

Features

  • Move ImageUpload and MermaidRendering to plugins to allow for more plugins easily (cfae670)

Bug Fixes

  • Handle relative paths for images (dbaba70)

5.2.6 (2023-05-11)

Bug Fixes

5.2.5 (2023-05-10)

Bug Fixes

  • Only load CSS that exists for obsidian styles (c825559)

5.2.4 (2023-05-10)

Bug Fixes

  • Download browser for mermaid if required (b6e45f0)
  • Show better CLI error messages (2120168)

5.2.3 (2023-05-10)

Bug Fixes

  • HTML should be next to CLI (9cefae1)

5.2.2 (2023-05-10)

Bug Fixes

  • Set puppeteer cache dir (0643ad3)

5.2.1 (2023-05-10)

Bug Fixes

  • Write out puppeteer launch options to see why it can't find the browser (fb3ca7f)

5.2.0 (2023-05-09)

Features

5.1.0 (2023-05-09)

Features

  • Add support for mentions (f17dd84)
  • ADF To Markdown (7257893)
  • Diff page details to see if they have changed. If so then publish page. (7e30ca8)
  • Handle smartcards storing URL without page name on the end (d489f83)

Bug Fixes

  • Add keywords to lib package (a3043b0)
  • Circular imports (4f49798)
  • Fix issues with puppeteer rendering (01824b6)
  • Move SettingsLoaders to own files to help with TreeShaking (f241a11)
  • Remove debug console.log (bb56ed9)
  • Replace all spaces not just first one (c01ae97)
  • Settings path (d1c43e6)
  • Tests (4f91706)

Documentation

  • Update Obsidian docs to remove need for BRAT install (9fc8fc8)

Dependencies

  • deps: bump actions/checkout from 3.1.0 to 3.5.2 (7720376)
  • deps: bump github/codeql-action from 2.3.2 to 2.3.3 (d1ee1ea)
  • deps: bump puppeteer from 20.0.0 to 20.1.2 (1504a57)
  • deps: bump puppeteer/puppeteer in /packages/cli (56496e9)
  • deps: bump step-security/harden-runner from 2.3.1 to 2.4.0 (4cd8c72)

5.0.1 (2023-05-03)

Documentation

  • Add note about logging issues to mono repo (19992f6)
  • Fix docs when they are published to obsidian-integration repo (bb5887b)

5.0.0 (2023-05-03)

⚠ BREAKING CHANGES

  • Remove ADFView. It adds a lot of complexity and size to Obsidian Plugin. If you need it log an issue and I will create a separate plugin for that feature.

Features

  • Apply themes from Obsidian to Mermaid (b599336)
  • Enable and fix all strict type checks (c16ee2d)
  • Make mermaid in electron simpler due to being ran in renderer already (5668e02)
  • Mark lib as sideEffects: false to help treeshaking (1a622e3)
  • Remove ADFView. It adds a lot of complexity and size to Obsidian Plugin (74c8436)
  • Snyk container scanning (710a4a0)

Bug Fixes

  • Add better npm scripts (6c227c7)
  • Add missing steps (d65c90b)
  • Add monitor for snyk containers to push to snyk for alerts (284f016)
  • Add settings to MdToADF Tests (2c58c51)
  • Call method on window in browser. (38706d1)
  • docker build ordering (0110108)
  • Don't publish with dependancies for the CLI since they are bundled. (52b3396)
  • frontmatterHeader adds content direct to ADF instead of Markdown now (1230878)
  • Improve plugin initial load time. Don't create the createObjectURL till first publishing time. (2c11c8e)
  • Missed steps (2487fe3)
  • Missed updating package-lock.json (6bc63b9)
  • Move monitor to the right place (fefccd5)
  • Pin dependancy in snyk.yml (0498425)
  • Pin npm in release-please.yml (03da715)
  • Remove ADFView from main.ts (a21abbd)
  • Remove comments (78520de)
  • Run npm ci to install dependancies (58e894c)
  • run monitor in docker action (7fc1b91)
  • Run npm build before dev-obsidian to ensure all built (da1fe60)
  • Sarif output (cfb277d)
  • ts errors in tests (21f640e)
  • Update snyk org id (945f87c)
  • use latest tag (b7458ab)

Documentation

  • Add badges to README.md (53d2bf3)
  • Add Conventional Commits (f7b0696)
  • Add Discord link (9c093f6)
  • Add README.md files to all NPM Packages (75c4781)
  • amended the broken readme image paths for obsidian package (97876cf)

Dependencies

  • deps: bump github/codeql-action from 2.3.1 to 2.3.2 (f960fb3)
  • deps: bump puppeteer from 19.11.1 to 20.0.0 (def42aa)
  • deps: bump puppeteer/puppeteer in /packages/cli (69768b1)
  • deps: bump yargs from 17.7.1 to 17.7.2 (a91eabd)

4.9.0 (2023-04-30)

Features

  • Add support for "index.md" as a folder file (f598074)

Bug Fixes

  • Bash to shell language map (28ae75e)

4.8.0 (2023-04-30)

Features

  • Add new setting to allow you to use the first heading as the page title. (ec4e426)

4.7.5 (2023-04-30)

Bug Fixes

  • Handle #hash links better for names that have spaces and handle internal links (7ad345a)

4.7.4 (2023-04-29)

Bug Fixes

  • Check for duplicate page titles not file names. (540b1f9)

4.7.3 (2023-04-29)

Bug Fixes

  • Replace spaces in hashFragment not linkToPage (ed446e8)

4.7.2 (2023-04-28)

Bug Fixes

  • Don't specify default for contentRoot on CommandLineArgumentSettingsLoader. (ec8c338)

4.7.1 (2023-04-28)

Bug Fixes

  • Update the common path to include parent (076effd)

4.7.0 (2023-04-28)

Features

  • Add links to updated pages on Completed Dialog (65c1a42)

Bug Fixes

  • fmt (91ff4e9)
  • Replace spaces with - to match what confluence uses. (92b9d2d)
  • Wrap check for file in try catch to report the errors better (3fabce0)

Documentation

  • Update repo and org names to match new names (404a85b)

4.6.4 (2023-04-28)

Bug Fixes

  • Don't load settings when first initialising Publisher. Fixes issue when no settings available in set up situation. (ceb21e7)
  • My bad (1acc9b8)
  • Remove debug console.logs (f89e617)

4.6.3 (2023-04-28)

Bug Fixes

  • Wrong Ordering of AutoSettingsLoader Loaders (4b1dc22)

4.6.2 (2023-04-28)

Bug Fixes

4.6.1 (2023-04-28)

Bug Fixes

  • Temp hack to show all files to be published (d3539e9)

4.6.0 (2023-04-28)

Features

  • Add "." option to folderToPublish to allow publishing whole contentRoot (54c53ac)

4.5.0 (2023-04-28)

Features

  • Enable SourceMaps in Docker (5f13f52)

4.4.0 (2023-04-27)

Features

  • Allow ConfigFile path to be provided as env var "CONFLUENCE_CONFIG_FILE" (1311a93)

4.3.0 (2023-04-27)

Features

  • Allow setting content root for FilesystemAdaptor (d008f29)

Bug Fixes

  • Add new projects to dependabot (1d63186)
  • If environment variable is empty or "" then don't use. (b0b7684)
  • Pin puppeteer Docker container (d9d5f11)
  • Trim and add back the contentRoot (c48a9c0)

Dependencies

  • adf-utils for Obsidian (3784f95)
  • deps: bump @atlaskit/adf-utils in /packages/lib (3b5ae81)
  • deps: bump @atlaskit/editor-json-transformer from 8.8.3 to 8.8.4 (b9a4496)
  • deps: bump @atlaskit/renderer from 107.3.2 to 107.3.3 (252f911)
  • deps: bump docker/build-push-action (5c99424)
  • deps: bump docker/login-action (c7fde60)
  • deps: bump docker/metadata-action (289e598)
  • deps: bump github/codeql-action from 2.3.0 to 2.3.1 (378c2b7)
  • deps: bump puppeteer/puppeteer in /packages/cli (07eeca7)
  • Update lint-staged to resolve vuln (4ba7926)

Documentation

  • Add link direct to Report a vuln (61ce80a)
  • Add Snyk badge (15f8382)
  • Docs moved to https://github.com/markdown-confluence/docs-obsidian-confluence (442d353)
  • Fix OpenSSF Scorecard Link (16ca266)

4.2.8 (2023-04-26)

Bug Fixes

  • Commit to the right repo (1cf7b40)

4.2.7 (2023-04-26)

Bug Fixes

  • Clean out obsidian-integration repo before copying in latest files (02b3887)

4.2.6 (2023-04-26)

Bug Fixes

  • Copy contents of obsidian folder not the folder as well (abb3618)

4.2.5 (2023-04-26)

Bug Fixes

4.2.4 (2023-04-26)

Bug Fixes

  • Include README for Obsidian repo and copy obsidian package source into repo to be stamped with release tag (0ac4de3)

4.2.3 (2023-04-26)

Bug Fixes

4.2.2 (2023-04-26)

Bug Fixes

  • Fix upload-release-assets.sh git config (6ce1b84)
  • Rename links to align with repo rename (742e98c)

4.2.1 (2023-04-26)

Bug Fixes

  • Add new manifest.json to allow new commit for release to be tagged against (f35d0a4)

Dependencies

  • deps: bump puppeteer from 19.11.0 to 19.11.1 (2be4945)

4.2.0 (2023-04-26)

Features

  • Update to publish to obsidian-integration repo (c1b7b98)

4.1.1 (2023-04-26)

Bug Fixes

4.1.0 (2023-04-26)

Features

  • Tag docker with extra tags for Major and Major.Minor (6ef7b65)

4.0.4 (2023-04-26)

Bug Fixes

4.0.3 (2023-04-26)

Bug Fixes

  • Update Token to support packages (73d3b54)

4.0.2 (2023-04-26)

Bug Fixes

4.0.1 (2023-04-26)

Bug Fixes

  • Only build and release docker when release is created (fe26002)
  • package-lock.json out of date (1468cb1)

4.0.0 (2023-04-26)

⚠ BREAKING CHANGES

  • No longer bundling the lib package to help with tree shaking and code navigation

Features

Bug Fixes

Documentation

  • Fix links on Thanks page (96c4953)

Dependencies

  • deps: bump github/codeql-action from 2.2.12 to 2.3.0 (2c4d081)

3.7.0 (2023-04-24)

Features

  • [StepSecurity] Apply security best practices (#136) (b7b38a4)
  • Add PAT for Branch Protection Check (b44a52e)
  • Create CODEOWNERS (a507ff9)
  • Create SECURITY.md (06f8ba7)
  • Dependancy review comment with summary (76597ac)
  • Ignore comments when comparing pages to see if page has changed (8cedbed)
  • Make ADF the same as what Confluence returns. (a223c72)
  • Map Inline Comments with best effort (b1d8db3)

Bug Fixes

  • Add category when uploading Sarif file (3fb888b)
  • dependabot config to be consistent (4933c62)
  • Fix permissions syntax (b7e585b)
  • Ignore error under eslint due to not being an issue (e784c6c)
  • Ignore vuln not being used (619daca)
  • Root permissions all read as per https://github.com/ossf/scorecard/blob/376f465c111c39c6a5ad7408e8896cd790cb5219/docs/checks.md#token-permissions (4560446)

3.6.1 (2023-04-21)

Bug Fixes

  • Upload the right signed file (ef7b176)

3.6.0 (2023-04-21)

Features

  • Add step-security/harden-runner to GHA (f49c627)

Bug Fixes

3.5.0 (2023-04-21)

Features

Bug Fixes

  • Add GHA Perms (#130) (2e35b30)
  • Add missing homepage and bugs to package.json (c920345)
  • Add permissions to root of all workflows (a430221)
  • Fix .eslintrc to resolve CodeQL error (f27dd85)
  • Remove wrong switch (6528836)
  • Run snyk on Dependabot PRs (b16e2b1)

3.4.1 (2023-04-20)

Bug Fixes

  • Add repository information for providence (362e025)

3.4.0 (2023-04-20)

Features

  • Add npm provenance (ee76005)
  • blog: Blog support. (e0bdc24)
  • Update Confluence Page Settings Command (a7d395e)
  • Write connie-publish: true to all files that have been published to ensure even if you move the files they still will be published. (a7d395e)

Dependencies

  • Clean up mermaid-electron-renderer package.json (8137934)

3.3.0 (2023-04-18)

Features

  • Update a page when you are the last modifier (5c42d77)

Bug Fixes

  • npm fmt (206269c)
  • Updates requested https://github.com/obsidianmd/obsidian-releases/pull/1867#issuecomment-1512710718 (47c4bf9)

3.2.0 (2023-04-18)

Features

  • Publish mermaid-electron-renderer (351d78d)

Bug Fixes

3.1.0 (2023-04-18)

Features

  • Create manual release to align with Obsidian requirements (a9b90e5)

Bug Fixes

3.0.2 (2023-04-18)

Bug Fixes

  • NPM Access to Public (74be60d)
  • Start work towards manual release (3439f99)
  • Test my local plugin (c7f7d30)

3.0.1 (2023-04-18)

Bug Fixes

  • noEmit for Obsidian package (7a36a92)

3.0.0 (2023-04-18)

Features

  • Add NPM publish after release is created (2979a11)
  • AdfEqual: Updates to make the ADF closer to what Confluence returns (348f00e)
  • AdfPreview: Make local files render correctly in ADF Preview (860bfb8)
  • build: Add mermaidRendererPlugin.js (a64a176)
  • build: Minify outputs to save size in main.js file (c879d5d)
  • ci: Add initial google-github-actions/release-please-action@v3 (39cc200)
  • ci: Export meta.json from esbuild (c27ca7d)
  • eslint: Add checks to GH Actions (e786154)
  • Include stats/expanded file names on publish (d618b66)
  • Lots of changes to enable better testing (0ce560c)
  • PageId: Specify PageId when page published to Confluence (c545009)
  • PublishDialog: Add more detail to publish completed / failed dialog (ddce9fc)
  • SinglePage: Publish updates for 1 page only (41e5ac4)
  • tests: Add initial unit tests and GH Actions to ensure they pass (b7f636e)
  • Wikilinks: First pass at supporting Wikilinks Syntax (57e9f65)
  • Wikilinks: Support smart links and pages in multiple spaces (20656f4)

Bug Fixes

  • Add @markdown-confluence/lib to markdown-electron-renderer (886556a)
  • Add root component to linked-versions (f2e1541)
  • Add version for root package (afea12d)
  • Attempt 10,000 fixing releases (60d875a)
  • Bump lib (18c4d27)
  • Bump obsidian version (c42e0d2)
  • Bump version I hope (39b93eb)
  • ci: Add support to bundle up files for plugin (250984b)
  • ci: Fix errors (ffeea5c)
  • ci: Learn to check (a494231)
  • ci: List files uploaded to GitHub (7612bcd)
  • ci: Move manifest to root of repo to align with Obsidian requirements (78d09e4)
  • ci: Remove component from tag (362b07e)
  • ci: Remove extra comment in manifest.json (05d9657)
  • ci: Remove Sourcemap to save size (0a1398b)
  • ci: Remove v from github release (3d3c07e)
  • ci: Remove v from version number (2a024bd)
  • ci: Run Release Please via PAT to allow GHA checks to run (adb0708)
  • ci: Use manifest over gh actions auto config (3dc8d2b)
  • cli: Build error (8d2698b)
  • Dir path for copy (0f499da)
  • Don't publish till release created (861ae0a)
  • Enable merge due to not having linked-versions (8850884)
  • eslint: Fix eslint issues (cbaa567)
  • Flip plugins order again (3003b70)
  • Force rename mdToADF to MdToADF (9d0d483)
  • Group name (cec80c5)
  • images: Fix for image upload (6b973f2)
  • Manifest (b87659e)
  • Mermaid: Remove extra console.log (cfbddd5)
  • Move "." to the bottom (e3a68ce)
  • Obsidian: Update to match recommendations from https://github.com/obsidianmd/obsidian-releases/blob/master/plugin-review.md (a038a46)
  • Only remove component from tag name for Obsidian (84c6628)
  • ReleasePlease: Fix to use a different name for package due to the actual obsidian package (3f94f7e)
  • Rename MainSettingTab to ConfluenceSettingTab (29ef8f2)
  • Rename MyPlugin to ConfluencePlugin (2298e27)
  • Rename MyPluginSettings to ConfluenceSettings (25bdb97)
  • Rename frontmatter-to-publish to connie-frontmatter-to-publish (d18d209)
  • settings: SaveSettings before Init (64c4e41)
  • stringifyObject: Replacing stringify-object with JSON.stringify (0297b44)
  • test: Extend test timeout (ee38491)
  • test: Fix snapshot test to test passing all tests (8e26790)
  • Try adding the component to PR title (0b07269)
  • Try reordering plugins (42706d9)
  • Update config to be simpler (6fff68e)
  • Update package-lock.json (66cf8cf)
  • Use package names not short names (f851af4)
  • Work around bug in release-please (b740114)
  • Wrong path for manifest.json (8444d3f)

Dependencies

  • deps: bump @atlaskit/renderer from 107.2.0 to 107.3.2 (7ae7a58)
  • Remove unused deps (2bfd5c4)

Documentation

  • Add BRAT installation instructions (a46cd23)
  • Add brat to readme.md (9d8efb0)
  • Add Installation BRAT to side nav (5d87192)
  • Add reference to https://github.com/LostPaul/obsidian-folder-notes/tree/main (d783f1b)
  • Add Wikilinks example (92a979f)
  • Fix book.toml (985561a)
  • Minor documentation changes from jvsteiner (f2d3b47)

Miscellaneous Chores

3.0.4 (2023-04-18)

Bug Fixes

  • Enable merge due to not having linked-versions (8850884)

3.0.3 (2023-04-18)

Bug Fixes

3.0.2 (2023-04-18)

Bug Fixes

3.0.1 (2023-04-18)

Bug Fixes

3.0.0 (2023-04-18)

Features

  • Add NPM publish after release is created (2979a11)
  • AdfEqual: Updates to make the ADF closer to what Confluence returns (348f00e)
  • build: Add mermaidRendererPlugin.js (a64a176)
  • Include stats/expanded file names on publish (d618b66)
  • Lots of changes to enable better testing (0ce560c)

Bug Fixes

  • Add @markdown-confluence/lib to markdown-electron-renderer (886556a)
  • Add root component to linked-versions (f2e1541)
  • Add version for root package (afea12d)
  • Attempt 10,000 fixing releases (60d875a)
  • Force rename mdToADF to MdToADF (9d0d483)
  • Manifest (b87659e)
  • ReleasePlease: Fix to use a different name for package due to the actual obsidian package (3f94f7e)
  • Rename MainSettingTab to ConfluenceSettingTab (29ef8f2)
  • Rename MyPlugin to ConfluencePlugin (2298e27)
  • Rename MyPluginSettings to ConfluenceSettings (25bdb97)
  • test: Extend test timeout (ee38491)
  • Try adding the component to PR title (0b07269)
  • Update config to be simpler (6fff68e)
  • Update package-lock.json (66cf8cf)
  • Use package names not short names (f851af4)
  • Wrong path for manifest.json (8444d3f)

Documentation

  • Add BRAT installation instructions (a46cd23)
  • Add brat to readme.md (9d8efb0)
  • Add Installation BRAT to side nav (5d87192)
  • Add reference to https://github.com/LostPaul/obsidian-folder-notes/tree/main (d783f1b)
  • Add Wikilinks example (92a979f)
  • Fix book.toml (985561a)
  • Minor documentation changes from jvsteiner (f2d3b47)

Miscellaneous Chores

2.1.1 (2023-04-14)

Bug Fixes

  • Rename frontmatter-to-publish to connie-frontmatter-to-publish (d18d209)
  • stringifyObject: Replacing stringify-object with JSON.stringify (0297b44)

Dependencies

2.1.0 (2023-04-14)

Features

  • build: Minify outputs to save size in main.js file (c879d5d)
  • ci: Export meta.json from esbuild (c27ca7d)
  • tests: Add initial unit tests and GH Actions to ensure they pass (b7f636e)

Bug Fixes

  • ci: Fix errors (ffeea5c)
  • ci: Learn to check (a494231)
  • ci: Run Release Please via PAT to allow GHA checks to run (adb0708)
  • test: Fix snapshot test to test passing all tests (8e26790)

Dependencies

  • deps: bump @atlaskit/renderer from 107.2.0 to 107.3.2 (7ae7a58)

2.0.1 (2023-04-13)

Bug Fixes

  • images: Fix for image upload (6b973f2)

2.0.0 (2023-04-12)

Bug Fixes

  • Obsidian: Update to match recommendations from https://github.com/obsidianmd/obsidian-releases/blob/master/plugin-review.md (a038a46)

Miscellaneous Chores

1.4.0 (2023-04-11)

Features

  • PublishDialog: Add more detail to publish completed / failed dialog (ddce9fc)
  • SinglePage: Publish updates for 1 page only (41e5ac4)
  • Wikilinks: First pass at supporting Wikilinks Syntax (57e9f65)
  • Wikilinks: Support smart links and pages in multiple spaces (20656f4)

1.3.0 (2023-04-11)

Features

  • AdfPreview: Make local files render correctly in ADF Preview (860bfb8)
  • eslint: Add checks to GH Actions (e786154)
  • PageId: Specify PageId when page published to Confluence (c545009)

Bug Fixes

1.2.4 (2023-04-07)

Bug Fixes

  • settings: SaveSettings before Init (64c4e41)

1.2.3 (2023-04-06)

Bug Fixes

  • ci: Remove extra comment in manifest.json (05d9657)

1.2.2 (2023-04-06)

Bug Fixes

  • ci: Move manifest to root of repo to align with Obsidian requirements (78d09e4)

1.2.1 (2023-04-06)

Bug Fixes

  • ci: Remove v from github release (3d3c07e)

1.2.0 (2023-04-06)

Features

  • ci: Add initial google-github-actions/release-please-action@v3 (39cc200)

Bug Fixes

  • ci: Add support to bundle up files for plugin (250984b)
  • ci: List files uploaded to GitHub (7612bcd)
  • ci: Remove component from tag (362b07e)
  • ci: Remove Sourcemap to save size (0a1398b)
  • ci: Remove v from version number (2a024bd)
  • ci: Use manifest over gh actions auto config (3dc8d2b)
  • Mermaid: Remove extra console.log (cfbddd5)

1.1.0 (2023-04-06)

Features

  • ci: Add initial google-github-actions/release-please-action@v3 (39cc200)

Bug Fixes

  • ci: Add support to bundle up files for plugin (250984b)
  • ci: List files uploaded to GitHub (7612bcd)
  • ci: Remove Sourcemap to save size (0a1398b)
  • ci: Remove v from version number (2a024bd)
  • ci: Use manifest over gh actions auto config (3dc8d2b)
  • Mermaid: Remove extra console.log (cfbddd5)

1.0.4 (2023-04-06)

Bug Fixes

  • ci: Remove v from version number (2a024bd)

1.0.3 (2023-04-06)

Bug Fixes

  • Mermaid: Remove extra console.log (cfbddd5)

1.0.2 (2023-04-05)

Bug Fixes

  • ci: List files uploaded to GitHub (7612bcd)
  • ci: Remove Sourcemap to save size (0a1398b)

1.0.1 (2023-04-05)

Bug Fixes

  • ci: Add support to bundle up files for plugin (250984b)

1.0.0 (2023-04-05)

Features

  • ci: Add initial google-github-actions/release-please-action@v3 (39cc200)