github Spenhouet/confluence-markdown-exporter 5.5.0
Release 5.5.0

2 hours ago

Highlights

  • Folder export. New cme folders / cme folder commands export every page beneath a Confluence Cloud folder, including nested folders (#96, d6cbd44).
  • Pages outside the homepage tree. Space exports now warn when a space holds pages outside the homepage tree. Set export.only_homepage_descendants=false to export them too, including spaces without a homepage (#332, d6cbd44).
  • Directory index pages. export.page_path_if_parent and export.attachment_path_if_parent export parent pages as index.md / README.md inside a directory named after the page. The new {ancestors_without_last} attachment variable goes with them (#322).
  • Renamed and moved pages are cleaned up. The old file and its .comments.md sidecar are now removed on every run, not only when another page was deleted in the same run. Case-only renames and paths reused by another page are left alone (#321).
  • Faster link resolution. Page links fetch only the target's title, ancestors and version instead of the full page with all bodies and attachments (#298).

New options

Option What it does
export.only_homepage_descendants Limit space exports to the homepage tree (default true)
export.page_path_if_parent, export.attachment_path_if_parent Separate path templates for pages with child pages
export.page_href_relative_only_if_ancestor_of Keep links to pages outside a given subtree as Confluence URLs (#295)
export.embed_images Embed images as base64 data URIs (#118)
export.include_jira_status Append the Jira status to enriched issue links (#330)
export.comment_headings Turn off the ### <excerpt> heading per exported comment (#311)
connection_config.ca_bundle Trust an internal root or intermediate CA (#331)
{page_id}, {page_title} in export.attachment_path Organize attachments per page (#305)

Links

  • Link text written on the Confluence page is kept as the Markdown label instead of always using the target page title. In wiki mode a differing label becomes an alias, [[Page Title|link text]] (#333).
  • Tiny links (/wiki/x/...) resolve to local page links (#324).
  • Server/Data Center /display/SPACE/Title links without a page id resolve to local page links (#315).
  • Parentheses and spaces in external link URLs are percent-encoded so the Markdown link stays intact (#317).

Server / Data Center

  • draw.io and Gliffy diagrams, which render client-side, are exported via their preview images (#304).
  • Classic emoticons (data-emoticon-name) become Unicode characters (#306).

Attachments

  • draw.io sources keep their .drawio extension when the Confluence UI language is not English (#310).
  • Attachments with unknown media types (e.g. .eddx sent as application/octet-stream) keep the extension from their title instead of .bin. Gliffy sources get .gliffy (#328).
  • <img> tags without data-media-* attributes resolve to the local attachment file (#325, #300).
  • The View File / PDF preview macro (viewpdf) becomes a link to the attachment (#319).
  • Failed downloads are retried through the REST download endpoint, which scoped API tokens may use (#210).

Other fixes

  • YAML front matter keeps Unicode text readable instead of \u escapes (#327).
  • Comment excerpt headings strip Markdown links and cut at word boundaries (#308).
  • Auth failures in CI or other non-interactive runs (CME_NON_INTERACTIVE, CI, or no terminal on stdin) exit with code 1 and a message instead of opening the config menu (#243).
  • Optional settings can be unset from the interactive menu and with cme config set key=. cme config get prints null for them.

Behavior changes to review on upgrade

  • Page link labels now follow the link text on the source page (#333).
  • Pages below a second root page in a space now keep that root in their export path.
  • Attachments with an unknown media type and Gliffy sources get a new file extension, so their paths change on the next export.

Thanks to everyone who contributed PRs to this release, and to @AlessandroAnnini (#96) and @AlexanderV (#139), whose PRs were reworked into the folder and space export changes.

Merged pull requests

  • fix(export): preserve Unicode in YAML front matter by @arvkonstantin in #327
  • fix(attachments): resolve .drawio extension independent of comment locale by @baptiste-pasquier in #310
  • fix(export): delete old file when a page is renamed or moved by @stn1slv in #321
  • fix(comments): strip markdown links and truncate excerpt headings at word boundaries by @sebastianbraun25 in #308
  • feat(config): add comment_headings option to toggle excerpt headings by @sebastianbraun25 in #311
  • fix(macro): render viewpdf (PDF/file preview) macro as attachment link by @sebastianbraun25 in #319
  • Add option to include Jira issue status in exported links by @arvkonstantin in #330
  • feat(links): resolve Confluence tiny links (/wiki/x/) to pages by @stn1slv in #324
  • feat(links): preserve Confluence link text for page links by @ewolfey in #333
  • feat(attachment_path): add page_id/page_title template variables for attachments by @sebastianbraun25 in #305
  • fix(emoticons): add Server/DC emoticon support (issue #299) by @sebastianbraun25 in #306
  • Keep attachment extension from title instead of MIME guessing by @Peter-L-FANG in #328
  • fix: Attach non .drawio-images missing data-media- attributes by @hterik in #325
  • fix(export): resolve relative Server/DC page links without page_id (/display/SPACE/TITLE) by @sebastianbraun25 in #315
  • fix(export): sanitize link destinations with parentheses and clean up URL anchor text by @sebastianbraun25 in #317
  • Fixes #303: Support clientside-rendered macros (Gliffy, DrawIO Server/DC) by @sebastianbraun25 in #304
  • Add option to limit convertion of relative links to subpages. by @hterik in #295
  • Add path-template options enabling index.md directory structure by @hterik in #322
  • Resolve open issues: scoped-token downloads, CA bundle, non-interactive auth, light link fetch, embedded images by @Spenhouet in #336

New Contributors

Full Changelog: 5.4.0...5.5.0

Don't miss a new confluence-markdown-exporter release

NewReleases is sending notifications on new releases.