confluence-cli 1.21.1 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -20,6 +20,14 @@ A powerful command-line interface for Atlassian Confluence that allows you to re
20
20
 
21
21
  ## Installation
22
22
 
23
+ ### Homebrew (macOS/Linux)
24
+
25
+ ```bash
26
+ brew install pchuri/tap/confluence-cli
27
+ ```
28
+
29
+ ### npm
30
+
23
31
  ```bash
24
32
  npm install -g confluence-cli
25
33
  ```
@@ -5,6 +5,27 @@ const FormData = require('form-data');
5
5
  const { convert } = require('html-to-text');
6
6
  const MarkdownIt = require('markdown-it');
7
7
 
8
+ const NAMED_ENTITIES = {
9
+ // uppercase variants
10
+ aring: 'å', auml: 'ä', ouml: 'ö',
11
+ eacute: 'é', egrave: 'è', ecirc: 'ê', euml: 'ë',
12
+ aacute: 'á', agrave: 'à', acirc: 'â', atilde: 'ã',
13
+ oacute: 'ó', ograve: 'ò', ocirc: 'ô', otilde: 'õ',
14
+ uacute: 'ú', ugrave: 'ù', ucirc: 'û', uuml: 'ü',
15
+ iacute: 'í', igrave: 'ì', icirc: 'î', iuml: 'ï',
16
+ ntilde: 'ñ', ccedil: 'ç', szlig: 'ß', yuml: 'ÿ',
17
+ eth: 'ð', thorn: 'þ',
18
+ // uppercase variants
19
+ Aring: 'Å', Auml: 'Ä', Ouml: 'Ö',
20
+ Eacute: 'É', Egrave: 'È', Ecirc: 'Ê', Euml: 'Ë',
21
+ Aacute: 'Á', Agrave: 'À', Acirc: 'Â', Atilde: 'Ã',
22
+ Oacute: 'Ó', Ograve: 'Ò', Ocirc: 'Ô', Otilde: 'Õ',
23
+ Uacute: 'Ú', Ugrave: 'Ù', Ucirc: 'Û', Uuml: 'Ü',
24
+ Iacute: 'Í', Igrave: 'Ì', Icirc: 'Î', Iuml: 'Ï',
25
+ Ntilde: 'Ñ', Ccedil: 'Ç', Szlig: 'SS', Yuml: 'Ÿ',
26
+ Eth: 'Ð', Thorn: 'Þ'
27
+ };
28
+
8
29
  class ConfluenceClient {
9
30
  constructor(config) {
10
31
  this.domain = config.domain;
@@ -1472,6 +1493,9 @@ class ConfluenceClient {
1472
1493
  // Numeric HTML entities
1473
1494
  markdown = markdown.replace(/&#(\d+);/g, (_, code) => String.fromCharCode(parseInt(code, 10)));
1474
1495
  markdown = markdown.replace(/&#x([0-9a-fA-F]+);/g, (_, code) => String.fromCharCode(parseInt(code, 16)));
1496
+
1497
+ // Clean up nordic alphabets and other named entities
1498
+ markdown = markdown.replace(/&([a-zA-Z]+);/g, (match, name) => NAMED_ENTITIES[name] || match);
1475
1499
 
1476
1500
  // Clean up extra whitespace for standard Markdown format
1477
1501
  // Remove trailing spaces from each line
@@ -2018,3 +2042,4 @@ class ConfluenceClient {
2018
2042
  }
2019
2043
 
2020
2044
  module.exports = ConfluenceClient;
2045
+ module.exports.NAMED_ENTITIES = NAMED_ENTITIES;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "confluence-cli",
3
- "version": "1.21.1",
3
+ "version": "1.23.0",
4
4
  "description": "A command-line interface for Atlassian Confluence with page creation and editing capabilities",
5
5
  "main": "index.js",
6
6
  "bin": {