simple formatter for source view of text HTML notes

This commit is contained in:
zadam 2023-06-20 23:59:36 +02:00
parent a47004bb4e
commit 176784834f
5 changed files with 123 additions and 78 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

136
package-lock.json generated
View File

@ -1,17 +1,17 @@
{ {
"name": "trilium", "name": "trilium",
"version": "0.60.2-beta", "version": "0.60.4",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "trilium", "name": "trilium",
"version": "0.60.2-beta", "version": "0.60.4",
"hasInstallScript": true, "hasInstallScript": true,
"license": "AGPL-3.0-only", "license": "AGPL-3.0-only",
"dependencies": { "dependencies": {
"@braintree/sanitize-url": "6.0.2", "@braintree/sanitize-url": "6.0.2",
"@electron/remote": "2.0.9", "@electron/remote": "2.0.10",
"@excalidraw/excalidraw": "0.14.2", "@excalidraw/excalidraw": "0.14.2",
"archiver": "5.3.1", "archiver": "5.3.1",
"async-mutex": "0.4.0", "async-mutex": "0.4.0",
@ -62,7 +62,7 @@
"sanitize-filename": "1.6.3", "sanitize-filename": "1.6.3",
"sanitize-html": "2.10.0", "sanitize-html": "2.10.0",
"sax": "1.2.4", "sax": "1.2.4",
"semver": "7.5.1", "semver": "7.5.2",
"serve-favicon": "2.5.0", "serve-favicon": "2.5.0",
"session-file-store": "1.5.0", "session-file-store": "1.5.0",
"stream-throttle": "0.1.3", "stream-throttle": "0.1.3",
@ -79,11 +79,11 @@
}, },
"devDependencies": { "devDependencies": {
"cross-env": "7.0.3", "cross-env": "7.0.3",
"electron": "25.1.0", "electron": "25.1.1",
"electron-builder": "23.6.0", "electron-builder": "23.6.0",
"electron-packager": "17.1.1", "electron-packager": "17.1.1",
"electron-rebuild": "3.2.9", "electron-rebuild": "3.2.9",
"eslint": "8.42.0", "eslint": "8.43.0",
"eslint-config-airbnb-base": "15.0.0", "eslint-config-airbnb-base": "15.0.0",
"eslint-config-prettier": "8.8.0", "eslint-config-prettier": "8.8.0",
"eslint-plugin-import": "2.27.5", "eslint-plugin-import": "2.27.5",
@ -91,7 +91,7 @@
"eslint-plugin-prettier": "4.2.1", "eslint-plugin-prettier": "4.2.1",
"esm": "3.2.25", "esm": "3.2.25",
"husky": "8.0.3", "husky": "8.0.3",
"jasmine": "5.0.1", "jasmine": "5.0.2",
"jsdoc": "4.0.2", "jsdoc": "4.0.2",
"jsonc-eslint-parser": "2.3.0", "jsonc-eslint-parser": "2.3.0",
"lint-staged": "13.2.2", "lint-staged": "13.2.2",
@ -99,7 +99,7 @@
"nodemon": "2.0.22", "nodemon": "2.0.22",
"prettier": "2.8.8", "prettier": "2.8.8",
"rcedit": "3.0.1", "rcedit": "3.0.1",
"webpack": "5.86.0", "webpack": "5.87.0",
"webpack-cli": "5.1.4" "webpack-cli": "5.1.4"
}, },
"optionalDependencies": { "optionalDependencies": {
@ -317,9 +317,9 @@
} }
}, },
"node_modules/@electron/remote": { "node_modules/@electron/remote": {
"version": "2.0.9", "version": "2.0.10",
"resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.9.tgz", "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.10.tgz",
"integrity": "sha512-LR0W0ID6WAKHaSs0x5LX9aiG+5pFBNAJL6eQAJfGkCuZPUa6nZz+czZLdlTDETG45CgF/0raSvCtYOYUpr6c+A==", "integrity": "sha512-3SFKKaQXcyWgwmibud+UqJl/XlHOgLcI3fwtB9pNelPSJAcTxocOJrF6FaxBIQaj1+R05Di6xuAswZpXAW7xhA==",
"peerDependencies": { "peerDependencies": {
"electron": ">= 13.0.0" "electron": ">= 13.0.0"
} }
@ -450,9 +450,9 @@
} }
}, },
"node_modules/@eslint/js": { "node_modules/@eslint/js": {
"version": "8.42.0", "version": "8.43.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.42.0.tgz", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.43.0.tgz",
"integrity": "sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==", "integrity": "sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0" "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@ -4198,9 +4198,9 @@
} }
}, },
"node_modules/electron": { "node_modules/electron": {
"version": "25.1.0", "version": "25.1.1",
"resolved": "https://registry.npmjs.org/electron/-/electron-25.1.0.tgz", "resolved": "https://registry.npmjs.org/electron/-/electron-25.1.1.tgz",
"integrity": "sha512-VKk4G/0euO7ysMKQKHXmI4d3/qR4uHsAtVFXK2WfQUVxBmc160OAm2R6PN9/EXmgXEioKQBtbc2/lvWyYpDbuA==", "integrity": "sha512-WvFUfVsJn6YiP35UxdibYVjU2LceastyMm4SVp2bmb4XvKEvItAIiwxgm7tPC5Syl1243aRCvQLqr84sZ71pyQ==",
"hasInstallScript": true, "hasInstallScript": true,
"dependencies": { "dependencies": {
"@electron/get": "^2.0.0", "@electron/get": "^2.0.0",
@ -4843,9 +4843,9 @@
} }
}, },
"node_modules/enhanced-resolve": { "node_modules/enhanced-resolve": {
"version": "5.14.1", "version": "5.15.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
"integrity": "sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==", "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"graceful-fs": "^4.2.4", "graceful-fs": "^4.2.4",
@ -5030,15 +5030,15 @@
} }
}, },
"node_modules/eslint": { "node_modules/eslint": {
"version": "8.42.0", "version": "8.43.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.42.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.43.0.tgz",
"integrity": "sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==", "integrity": "sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.4.0", "@eslint-community/regexpp": "^4.4.0",
"@eslint/eslintrc": "^2.0.3", "@eslint/eslintrc": "^2.0.3",
"@eslint/js": "8.42.0", "@eslint/js": "8.43.0",
"@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/config-array": "^0.11.10",
"@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8", "@nodelib/fs.walk": "^1.2.8",
@ -7762,9 +7762,9 @@
"integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
}, },
"node_modules/jasmine": { "node_modules/jasmine": {
"version": "5.0.1", "version": "5.0.2",
"resolved": "https://registry.npmjs.org/jasmine/-/jasmine-5.0.1.tgz", "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-5.0.2.tgz",
"integrity": "sha512-cLAGOzZyTaDF/T4J8AvBg3Jthp/CAFZNuzxMNBdc0IrNXMhbxxMIY7eLn+1hFjo+QJ0Pvj3ifahBCQDE6i08Ug==", "integrity": "sha512-fXgPcWfDhENJJVktFZc/JJ+TpdOQIMJTbn6BgSOIneBagrHtKvnyA8Ag6uD8eF2m7cSESG7K/Hfj/Hk5asAwNg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"glob": "^10.2.2", "glob": "^10.2.2",
@ -11089,9 +11089,9 @@
} }
}, },
"node_modules/schema-utils": { "node_modules/schema-utils": {
"version": "3.1.2", "version": "3.3.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
"integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/json-schema": "^7.0.8", "@types/json-schema": "^7.0.8",
@ -11107,9 +11107,9 @@
} }
}, },
"node_modules/semver": { "node_modules/semver": {
"version": "7.5.1", "version": "7.5.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
"integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
"dependencies": { "dependencies": {
"lru-cache": "^6.0.0" "lru-cache": "^6.0.0"
}, },
@ -12564,9 +12564,9 @@
} }
}, },
"node_modules/webpack": { "node_modules/webpack": {
"version": "5.86.0", "version": "5.87.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.86.0.tgz", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.87.0.tgz",
"integrity": "sha512-3BOvworZ8SO/D4GVP+GoRC3fVeg5MO4vzmq8TJJEkdmopxyazGDxN8ClqN12uzrZW9Tv8EED8v5VSb6Sqyi0pg==", "integrity": "sha512-GOu1tNbQ7p1bDEoFRs2YPcfyGs8xq52yyPBZ3m2VGnXGtV9MxjrkABHm4V9Ia280OefsSLzvbVoXcfLxjKY/Iw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/eslint-scope": "^3.7.3", "@types/eslint-scope": "^3.7.3",
@ -12578,7 +12578,7 @@
"acorn-import-assertions": "^1.9.0", "acorn-import-assertions": "^1.9.0",
"browserslist": "^4.14.5", "browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2", "chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.14.1", "enhanced-resolve": "^5.15.0",
"es-module-lexer": "^1.2.1", "es-module-lexer": "^1.2.1",
"eslint-scope": "5.1.1", "eslint-scope": "5.1.1",
"events": "^3.2.0", "events": "^3.2.0",
@ -12588,7 +12588,7 @@
"loader-runner": "^4.2.0", "loader-runner": "^4.2.0",
"mime-types": "^2.1.27", "mime-types": "^2.1.27",
"neo-async": "^2.6.2", "neo-async": "^2.6.2",
"schema-utils": "^3.1.2", "schema-utils": "^3.2.0",
"tapable": "^2.1.1", "tapable": "^2.1.1",
"terser-webpack-plugin": "^5.3.7", "terser-webpack-plugin": "^5.3.7",
"watchpack": "^2.4.0", "watchpack": "^2.4.0",
@ -13224,9 +13224,9 @@
} }
}, },
"@electron/remote": { "@electron/remote": {
"version": "2.0.9", "version": "2.0.10",
"resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.9.tgz", "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.10.tgz",
"integrity": "sha512-LR0W0ID6WAKHaSs0x5LX9aiG+5pFBNAJL6eQAJfGkCuZPUa6nZz+czZLdlTDETG45CgF/0raSvCtYOYUpr6c+A==", "integrity": "sha512-3SFKKaQXcyWgwmibud+UqJl/XlHOgLcI3fwtB9pNelPSJAcTxocOJrF6FaxBIQaj1+R05Di6xuAswZpXAW7xhA==",
"requires": {} "requires": {}
}, },
"@electron/universal": { "@electron/universal": {
@ -13324,9 +13324,9 @@
} }
}, },
"@eslint/js": { "@eslint/js": {
"version": "8.42.0", "version": "8.43.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.42.0.tgz", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.43.0.tgz",
"integrity": "sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==", "integrity": "sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==",
"dev": true "dev": true
}, },
"@excalidraw/excalidraw": { "@excalidraw/excalidraw": {
@ -16251,9 +16251,9 @@
} }
}, },
"electron": { "electron": {
"version": "25.1.0", "version": "25.1.1",
"resolved": "https://registry.npmjs.org/electron/-/electron-25.1.0.tgz", "resolved": "https://registry.npmjs.org/electron/-/electron-25.1.1.tgz",
"integrity": "sha512-VKk4G/0euO7ysMKQKHXmI4d3/qR4uHsAtVFXK2WfQUVxBmc160OAm2R6PN9/EXmgXEioKQBtbc2/lvWyYpDbuA==", "integrity": "sha512-WvFUfVsJn6YiP35UxdibYVjU2LceastyMm4SVp2bmb4XvKEvItAIiwxgm7tPC5Syl1243aRCvQLqr84sZ71pyQ==",
"requires": { "requires": {
"@electron/get": "^2.0.0", "@electron/get": "^2.0.0",
"@types/node": "^18.11.18", "@types/node": "^18.11.18",
@ -16753,9 +16753,9 @@
} }
}, },
"enhanced-resolve": { "enhanced-resolve": {
"version": "5.14.1", "version": "5.15.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
"integrity": "sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==", "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==",
"dev": true, "dev": true,
"requires": { "requires": {
"graceful-fs": "^4.2.4", "graceful-fs": "^4.2.4",
@ -16901,15 +16901,15 @@
"dev": true "dev": true
}, },
"eslint": { "eslint": {
"version": "8.42.0", "version": "8.43.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.42.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.43.0.tgz",
"integrity": "sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==", "integrity": "sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.4.0", "@eslint-community/regexpp": "^4.4.0",
"@eslint/eslintrc": "^2.0.3", "@eslint/eslintrc": "^2.0.3",
"@eslint/js": "8.42.0", "@eslint/js": "8.43.0",
"@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/config-array": "^0.11.10",
"@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8", "@nodelib/fs.walk": "^1.2.8",
@ -18902,9 +18902,9 @@
} }
}, },
"jasmine": { "jasmine": {
"version": "5.0.1", "version": "5.0.2",
"resolved": "https://registry.npmjs.org/jasmine/-/jasmine-5.0.1.tgz", "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-5.0.2.tgz",
"integrity": "sha512-cLAGOzZyTaDF/T4J8AvBg3Jthp/CAFZNuzxMNBdc0IrNXMhbxxMIY7eLn+1hFjo+QJ0Pvj3ifahBCQDE6i08Ug==", "integrity": "sha512-fXgPcWfDhENJJVktFZc/JJ+TpdOQIMJTbn6BgSOIneBagrHtKvnyA8Ag6uD8eF2m7cSESG7K/Hfj/Hk5asAwNg==",
"dev": true, "dev": true,
"requires": { "requires": {
"glob": "^10.2.2", "glob": "^10.2.2",
@ -21415,9 +21415,9 @@
} }
}, },
"schema-utils": { "schema-utils": {
"version": "3.1.2", "version": "3.3.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
"integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/json-schema": "^7.0.8", "@types/json-schema": "^7.0.8",
@ -21426,9 +21426,9 @@
} }
}, },
"semver": { "semver": {
"version": "7.5.1", "version": "7.5.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
"integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
"requires": { "requires": {
"lru-cache": "^6.0.0" "lru-cache": "^6.0.0"
} }
@ -22556,9 +22556,9 @@
"integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==" "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="
}, },
"webpack": { "webpack": {
"version": "5.86.0", "version": "5.87.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.86.0.tgz", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.87.0.tgz",
"integrity": "sha512-3BOvworZ8SO/D4GVP+GoRC3fVeg5MO4vzmq8TJJEkdmopxyazGDxN8ClqN12uzrZW9Tv8EED8v5VSb6Sqyi0pg==", "integrity": "sha512-GOu1tNbQ7p1bDEoFRs2YPcfyGs8xq52yyPBZ3m2VGnXGtV9MxjrkABHm4V9Ia280OefsSLzvbVoXcfLxjKY/Iw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/eslint-scope": "^3.7.3", "@types/eslint-scope": "^3.7.3",
@ -22570,7 +22570,7 @@
"acorn-import-assertions": "^1.9.0", "acorn-import-assertions": "^1.9.0",
"browserslist": "^4.14.5", "browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2", "chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.14.1", "enhanced-resolve": "^5.15.0",
"es-module-lexer": "^1.2.1", "es-module-lexer": "^1.2.1",
"eslint-scope": "5.1.1", "eslint-scope": "5.1.1",
"events": "^3.2.0", "events": "^3.2.0",
@ -22580,7 +22580,7 @@
"loader-runner": "^4.2.0", "loader-runner": "^4.2.0",
"mime-types": "^2.1.27", "mime-types": "^2.1.27",
"neo-async": "^2.6.2", "neo-async": "^2.6.2",
"schema-utils": "^3.1.2", "schema-utils": "^3.2.0",
"tapable": "^2.1.1", "tapable": "^2.1.1",
"terser-webpack-plugin": "^5.3.7", "terser-webpack-plugin": "^5.3.7",
"watchpack": "^2.4.0", "watchpack": "^2.4.0",

View File

@ -32,7 +32,7 @@
}, },
"dependencies": { "dependencies": {
"@braintree/sanitize-url": "6.0.2", "@braintree/sanitize-url": "6.0.2",
"@electron/remote": "2.0.9", "@electron/remote": "2.0.10",
"@excalidraw/excalidraw": "0.14.2", "@excalidraw/excalidraw": "0.14.2",
"archiver": "5.3.1", "archiver": "5.3.1",
"async-mutex": "0.4.0", "async-mutex": "0.4.0",
@ -83,7 +83,7 @@
"sanitize-filename": "1.6.3", "sanitize-filename": "1.6.3",
"sanitize-html": "2.10.0", "sanitize-html": "2.10.0",
"sax": "1.2.4", "sax": "1.2.4",
"semver": "7.5.1", "semver": "7.5.2",
"serve-favicon": "2.5.0", "serve-favicon": "2.5.0",
"session-file-store": "1.5.0", "session-file-store": "1.5.0",
"stream-throttle": "0.1.3", "stream-throttle": "0.1.3",
@ -97,11 +97,11 @@
}, },
"devDependencies": { "devDependencies": {
"cross-env": "7.0.3", "cross-env": "7.0.3",
"electron": "25.1.0", "electron": "25.1.1",
"electron-builder": "23.6.0", "electron-builder": "23.6.0",
"electron-packager": "17.1.1", "electron-packager": "17.1.1",
"electron-rebuild": "3.2.9", "electron-rebuild": "3.2.9",
"eslint": "8.42.0", "eslint": "8.43.0",
"eslint-config-airbnb-base": "15.0.0", "eslint-config-airbnb-base": "15.0.0",
"eslint-config-prettier": "8.8.0", "eslint-config-prettier": "8.8.0",
"eslint-plugin-import": "2.27.5", "eslint-plugin-import": "2.27.5",
@ -111,13 +111,13 @@
"husky": "8.0.3", "husky": "8.0.3",
"jsonc-eslint-parser": "2.3.0", "jsonc-eslint-parser": "2.3.0",
"lint-staged": "13.2.2", "lint-staged": "13.2.2",
"jasmine": "5.0.1", "jasmine": "5.0.2",
"jsdoc": "4.0.2", "jsdoc": "4.0.2",
"lorem-ipsum": "2.0.8", "lorem-ipsum": "2.0.8",
"prettier": "2.8.8", "prettier": "2.8.8",
"nodemon": "2.0.22", "nodemon": "2.0.22",
"rcedit": "3.0.1", "rcedit": "3.0.1",
"webpack": "5.86.0", "webpack": "5.87.0",
"webpack-cli": "5.1.4" "webpack-cli": "5.1.4"
}, },
"optionalDependencies": { "optionalDependencies": {

View File

@ -27,9 +27,13 @@ export default class ReadOnlyCodeTypeWidget extends TypeWidget {
} }
async doRefresh(note) { async doRefresh(note) {
const blob = await this.note.getBlob(); let {content} = await this.note.getBlob();
this.$content.text(blob.content); if (note.type === 'text' && this.noteContext?.viewScope?.viewMode === 'source') {
content = this.format(content);
}
this.$content.text(content);
} }
async executeWithContentElementEvent({resolve, ntxId}) { async executeWithContentElementEvent({resolve, ntxId}) {
@ -41,4 +45,45 @@ export default class ReadOnlyCodeTypeWidget extends TypeWidget {
resolve(this.$content); resolve(this.$content);
} }
format(html) {
let indent = '\n';
const tab = '\t';
let i = 0;
let pre = [];
html = html
.replace(new RegExp('<pre>((.|\\t|\\n|\\r)+)?</pre>'), function (x) {
pre.push({indent: '', tag: x});
return '<--TEMPPRE' + i++ + '/-->'
})
.replace(new RegExp('<[^<>]+>[^<]?', 'g'), function (x) {
let ret;
let tag = /<\/?([^\s/>]+)/.exec(x)[1];
let p = new RegExp('<--TEMPPRE(\\d+)/-->').exec(x);
if (p) {
pre[p[1]].indent = indent;
}
if (['area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr'].indexOf(tag) >= 0) { // self closing tag
ret = indent + x;
} else {
if (x.indexOf('</') < 0) { //open tag
if (x.charAt(x.length - 1) !== '>') ret = indent + x.substr(0, x.length - 1) + indent + tab + x.substr(x.length - 1, x.length); else ret = indent + x;
!p && (indent += tab);
} else {//close tag
indent = indent.substr(0, indent.length - 1);
if (x.charAt(x.length - 1) !== '>') ret = indent + x.substr(0, x.length - 1) + indent + x.substr(x.length - 1, x.length); else ret = indent + x;
}
}
return ret;
});
for (i = pre.length; i--;) {
html = html.replace('<--TEMPPRE' + i + '/-->', pre[i].tag.replace('<pre>', '<pre>\n').replace('</pre>', pre[i].indent + '</pre>'));
}
return html.charAt(0) === '\n' ? html.substr(1, html.length - 1) : html;
}
} }