mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-01-23 02:36:05 +00:00
build: make obsidian links and checkboxes work again
This commit is contained in:
parent
b94458f5cf
commit
2997740921
3 changed files with 20 additions and 18 deletions
8
package-lock.json
generated
8
package-lock.json
generated
|
|
@ -108,7 +108,7 @@
|
|||
"karma-jasmine": "~5.1.0",
|
||||
"karma-jasmine-html-reporter": "^1.6.0",
|
||||
"lz-string": "^1.5.0",
|
||||
"marked": "^15.0.4",
|
||||
"marked": "^12.0.2",
|
||||
"moment": "2.30.1",
|
||||
"moment-duration-format": "^2.2.2",
|
||||
"nanoid": "^4.0.0",
|
||||
|
|
@ -17311,9 +17311,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/marked": {
|
||||
"version": "15.0.4",
|
||||
"resolved": "https://registry.npmjs.org/marked/-/marked-15.0.4.tgz",
|
||||
"integrity": "sha512-TCHvDqmb3ZJ4PWG7VEGVgtefA5/euFmsIhxtD0XsBxI39gUSKL81mIRFdt0AiNQozUahd4ke98ZdirExd/vSEw==",
|
||||
"version": "12.0.2",
|
||||
"resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz",
|
||||
"integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"marked": "bin/marked.js"
|
||||
|
|
|
|||
|
|
@ -190,7 +190,7 @@
|
|||
"karma-jasmine": "~5.1.0",
|
||||
"karma-jasmine-html-reporter": "^1.6.0",
|
||||
"lz-string": "^1.5.0",
|
||||
"marked": "^15.0.4",
|
||||
"marked": "^12.0.2",
|
||||
"moment": "2.30.1",
|
||||
"moment-duration-format": "^2.2.2",
|
||||
"nanoid": "^4.0.0",
|
||||
|
|
@ -223,6 +223,9 @@
|
|||
},
|
||||
"angular-mentions": {
|
||||
"@angular/common": "$@angular/common"
|
||||
},
|
||||
"ngx-markdown": {
|
||||
"marked": "12.0.2"
|
||||
}
|
||||
},
|
||||
"optionalDependencies": {
|
||||
|
|
|
|||
|
|
@ -3,18 +3,18 @@ import { MarkedOptions, MarkedRenderer } from 'ngx-markdown';
|
|||
export const markedOptionsFactory = (): MarkedOptions => {
|
||||
const renderer = new MarkedRenderer();
|
||||
|
||||
renderer.checkbox = ({ checked }) =>
|
||||
`<span class="checkbox material-icons">${checked ? 'check_box' : 'check_box_outline_blank'}</span>`;
|
||||
renderer.checkbox = (isChecked: boolean) =>
|
||||
`<span class="checkbox material-icons">${isChecked ? 'check_box' : 'check_box_outline_blank'}</span>`;
|
||||
|
||||
renderer.listitem = (listItem) =>
|
||||
listItem.text.includes('checkbox')
|
||||
? `<li class="checkbox-wrapper ${listItem.text.includes('check_box_outline_blank') ? 'undone' : 'done'}">${listItem.text}</li>`
|
||||
: `<li>${listItem.text}</li>`;
|
||||
renderer.listitem = (text: string) =>
|
||||
text.includes('checkbox')
|
||||
? `<li class="checkbox-wrapper ${text.includes('check_box_outline_blank') ? 'undone' : 'done'}">${text}</li>`
|
||||
: `<li>${text}</li>`;
|
||||
|
||||
renderer.link = ({ href, title, text }) =>
|
||||
renderer.link = (href, title, text) =>
|
||||
`<a target="_blank" href="${href}" title="${title}">${text}</a>`;
|
||||
|
||||
renderer.paragraph = ({ text }) => {
|
||||
renderer.paragraph = (text) => {
|
||||
const split = text.split('\n');
|
||||
return split.reduce((acc, p, i) => {
|
||||
const result = /h(\d)\./.exec(p);
|
||||
|
|
@ -36,13 +36,12 @@ export const markedOptionsFactory = (): MarkedOptions => {
|
|||
/\b((([A-Za-z][A-Za-z0-9+.-]*):\/\/([^\/?#]*))([^?#]*)(\?([^#]*))?(#(.*))?)\b/gi;
|
||||
|
||||
const rendererTxtOld = renderer.text;
|
||||
renderer.text = (p) => {
|
||||
return rendererTxtOld({
|
||||
...p,
|
||||
text: p.text.replace(urlPattern, (url) => {
|
||||
renderer.text = (text) => {
|
||||
return rendererTxtOld(
|
||||
text.replace(urlPattern, (url) => {
|
||||
return `<a href="${url}" target="_blank">${url}</a>`;
|
||||
}),
|
||||
});
|
||||
);
|
||||
};
|
||||
|
||||
return {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue