Commit Graph

174 Commits

Author SHA1 Message Date
Jacky Zhao
2154d36d99 chore: use regex flag instead of string in regexp ctor 2024-07-09 17:20:13 -07:00
Paul Trotter
42640bceb5
Check link isExternal before adding target="_blank" (#1211)
Fixes #1186 openLinksInNewTab opens ALL links in new tabs. Fixed to reflect documented behavior here: https://quartz.jzhao.xyz/plugins/CrawlLinks
2024-06-16 22:33:28 -07:00
Emile Bangma
3e14b2b89b
fix(wikilinks): pdf page linking (#1207) 2024-06-14 09:17:46 -07:00
Emile Bangma
81d00fc9c0
.callout-content support (#1188)
* .callout-content support

* Use BlockContent | FootnoteContent for callout body

* Update quartz/plugins/transformers/ofm.ts

Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>

* Refactor

* Combine child selectors

* Fix multiple callout members

* Empty check

* Replace splice

---------

Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
2024-06-13 16:02:00 -07:00
Alex Nordstrom
9ff4626d25
fix: change callout metadata regex to include non-letter characters (#1174)
* fix: change callout metadata regex to include non-letter characters

* fix: make metadata regex non-greedy

This allows for users to have callouts such as
> [!NOTE|left foo-bar 123] a ]+ title with square brackets [s] a
> Contents
2024-05-29 12:48:39 -07:00
Alex Nordstrom
77d6d9623f
feat: add callout metadata parsing (#1172) 2024-05-28 15:23:28 -07:00
Emile Bangma
5ec61468d5
fix(wikilinks): proper escaping of pipe character in wikilinks inside tables (#1040) 2024-03-31 09:44:50 -07:00
Emile Bangma
7e22c38f8e
fix(wikilinks): handle wikilinks inside tables seperately from other wikilinks (#1005)
* fix(wikilinks): handle wikilinks inside tables seperately from other wikilinks

* Prettier

* Cleaned up duplicate code

* Remove test logging

* Refactored and fixed for non-aliased wikilinks inside table

* Updated naming and comments

* Updated comment of wikilink regex

* Updated regex to match previous formatting

* Match table even if EOF is immediately after the table.

* Update quartz/plugins/transformers/ofm.ts

Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>

* Change table escape replace to non-regex version

* Prettier

* Prettier

---------

Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
2024-03-17 18:16:04 -07:00
Emile Bangma
4691369abf
fix(wikilinks): only escape alias in wikilinks inside tables (#1000) 2024-03-16 09:23:08 -04:00
Aaron Pham
7164857f6e
chore(ofm): remove unused (#999)
Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>
2024-03-15 18:17:42 -07:00
catcodeme
8be51a0504
fix: wikiLink in table (#993)
* fix: wikiLink in table

- update regexp to make '\' to group in alias
- handle alias using block_id

* style: format with prettier

* style: add comment for block_ref(without alias) in table

---------

Co-authored-by: hulinjiang <hulinjiang@58.com>
2024-03-14 23:25:01 -07:00
Linus Sehn
92cc23dc45
feat(plugin): citations (#984)
* feat: add rehype-citations

* feat: add citations transformer plugin

* feat: add rehype-rewrite

* feat: add csl option and add no-popover to citation links

* revert: add rehype-rewrite

04b2692 'feat: add rehype-rewrite'

* feat: use existing package for html manipulation

* fix: remove `console.log()`
2024-03-13 03:59:37 -04:00
Emile Bangma
2e9a0c21db
fix(description): first sentence no longer repeats until max length (#981) 2024-03-09 08:43:40 -08:00
Aaron Pham
b30a200bd4
fix(i18n): make sure to use correct fileData for manual localization (#975)
Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>
2024-03-08 09:14:22 -08:00
Emile Bangma
6d59aa8201
fix(description): counts characters instead of words (#972)
* fix(description): make sure description counts characters instead of words

* ref: removed duplicate ternary
2024-03-08 04:04:44 -05:00
Aaron Pham
141dd3b51f
fix(description): make sure to we join space correctly (#970)
Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>
2024-03-06 19:45:02 -08:00
Matt Vogel
001c166825
fix(tag): move hash to sass styling only (#930) 2024-03-06 20:25:39 -05:00
Emile Bangma
e13cafe070
feat: support youtube playlist iframe (#968)
* feat: support youtube playlist iframe

* chore: updated Youtube embed documentation to include playlists
2024-03-06 09:45:31 -08:00
Emile Bangma
bcb5b2df09
feat(frontmatter): configure max length for description (#946)
* Sentence length check

* Replace external links with domain name.

* Updated documentation.

* Updated replacement values.

* Updated Regex based on feedback.

* Check description for undefined

* Updated external url transform regex.

* Updated formatting
2024-03-04 09:52:28 -08:00
Jacky Zhao
2a7e61ae2a feat: support transcluding codeblocks and blockquotes (closes #940) 2024-03-03 12:31:55 -08:00
Jacky Zhao
421718958f fix(callouts): use user provided title instead of canonical for default title 2024-02-23 11:20:35 -08:00
Eiko Wagenknecht
1c3f3d03e1
fix(toc): correct type for minEntries param (#909) 2024-02-20 09:06:53 -08:00
Eiko Wagenknecht
b6cf3df84f
fix: correctly parse falsy js as title (#900) 2024-02-19 13:49:07 -08:00
Eiko Wagenknecht
efd46f84de
fix(frontmatter): delimiters parameter was not passed (#885)
* fix: delimiters parameter was not passed

Signed-off-by: Eiko Wagenknecht <git@eiko-wagenknecht.de>

* fix: remove unneeded undefined

---------

Signed-off-by: Eiko Wagenknecht <git@eiko-wagenknecht.de>
2024-02-19 00:08:36 -08:00
s-crypt
739c2e2cc8
perf(cdn): CDNJS instead of JSDelivr (#891) 2024-02-18 20:26:04 -08:00
Silviu Lorenț
fa2ea2896f
feat: add user-defined config for syntax highlighting plugin (#869)
* feat: add user-defined options to syntax highlighting plugin

* feat: add default syntax highlighting config to `quartz.config.ts`

* chore: refactor according to @aarnphm's review

Co-authored-by: Aaron Pham <29749331+aarnphm@users.noreply.github.com>

* chore: run Prettier on `quartz/plugins/transformers/syntax.ts`

* Update quartz/plugins/transformers/syntax.ts

Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>

* Update syntax.ts

---------

Co-authored-by: Aaron Pham <29749331+aarnphm@users.noreply.github.com>
Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
2024-02-17 10:23:45 -08:00
Jacky Zhao
b87a701ff7 fix: base.com not being resolved properly with joinSegments 2024-02-13 01:27:27 -08:00
Lin
880a9511b6
fix: incorrect link resolution for transclusion in root index file (#853)
Co-authored-by: Lauréline Nevin <laureline.nevin@unicaen.fr>
2024-02-13 03:11:16 -05:00
Jacky Zhao
389f2e8bee fix(ofm): allow diacretic marks in tag regex (closes #830) 2024-02-11 12:12:01 -08:00
Jacky Zhao
ab0e20b4d0 chore: refactor out and export endsWith 2024-02-11 10:57:24 -08:00
Aaron Pham
ab80eba794
chore(callouts): remove unnecessary whitespaces after class name (#833)
Though we should have a plugins that just strip whitespace in all node
class.

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>
2024-02-10 17:19:17 -05:00
Aaron Pham
db5e701810
feat(i18n): support parsing callouts (#834)
* feat(i18n): support parsing callouts

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>

* chore: move callout into components

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>

* chore: update arabic translation

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>

* fix: make sure to use correct items

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>

---------

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>
2024-02-10 17:09:57 -05:00
Aaron Pham
d2fb50b83c
fix(links): show backdrop on links highlighted in headers alias (#816)
* fix: assign specific classes based on parent node

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>

* fix: use custom role for anchor icone

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>

* fix: allow color on links 😄

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>

* chore: unify search inner container

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>

---------

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>
2024-02-06 02:06:19 -05:00
Aaron Pham
52ef6d1b6f
fix(search): set background-color for icon within preview panel (#815)
Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>
2024-02-06 01:12:31 -05:00
Jacky Zhao
34334eabed perf: don't load mermaid if its not on the page 2024-02-05 20:36:31 -08:00
Aaron Pham
e58c217de1
feat: support checkbox (closes #646) (#799)
* feat: support checkbox

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>

* chore: apply review from jacky

---------

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>
2024-02-04 22:19:25 -08:00
Jacky Zhao
36e4cc41a9
chore(i18n): refactor and cleanup (#805)
* checkpoint

* finish

* docs
2024-02-04 20:57:10 -08:00
Aaron Pham
5b90fbd0d0
feat(ofm): parsing all type of arrow (#797)
* feat(ofm): parsing all type of arrow

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>

* fix: use html value instead of decimal

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>

* fix: skip parsing arrow if it is not a valid supported mapping

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>

---------

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>
2024-02-04 00:51:55 -05:00
Jacky Zhao
3fb3930df8 fix: calculate heading after latex (closes #719) 2024-02-03 19:44:24 -08:00
Luis Michaelis
bece8fcab6
fix: properly handle absolute paths in CreatedModifiedDate (#790)
When providing an absolute path to the content directory (e.g. when using an Obsidian Vault in another directory), the build step would fail with

    Failed to process `/absolute/path/to/file.md`: ENOENT: no such file or directory, stat '/current/working/directory/absolute/path/'

This problem originated in the `CreatedModifiedDate` transformer which tries to construct a native filesystem path to the file to call `fs.stat` on. It did not however, account for the original file path contained in the received `VFile` being an absolute path and so, just concatenated the current working directory with the absolute path producing a nonexistent one.

This patch adds a simple fix for this issue by checking if the original file path is already absolute before concatenating with the current working directory.
2024-02-02 09:51:34 -08:00
Jacky Zhao
bfd877133b fix: regression in formatted callout titles 2024-01-31 12:09:04 -08:00
Jacky Zhao
7cb1c291c8 fix: allow formatting in callout titles 2024-01-31 11:41:27 -08:00
Aaron Pham
fee3ef9b3a
chore(deps): bump katex to 0.16.9 (#772)
Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>
2024-01-31 09:25:16 -08:00
Jacky Zhao
4e5643fb49 fix: properly parse tags in body 2024-01-30 23:51:21 -08:00
LUCASTUCIOUS
072ee64127
feat: Feature/custom callout icon (#727)
* Add icons as masks

To handle a simple way to add custom icons, i made it pure css. Icon are now a mask for the callout-icon div, so they always follow the --color form the current callout.

Now to add a custom icon, you simply add

```css
.callout {
  &[data-callout="custom"] {
    --color: #customcolor;
    --border: #custombordercolor;
    --bg: #custombg;
    --callout-icon: url('data:image/svg+xml; utf8, <custom formatted svg>');

  }
```

to custom.scss

* remove now unused code

* Make callouts an enum

* docs: update instructions for custom callouts

* Prettier & run format

* dynamic matching

For maintainability, make dynamic mathching. If we or Obsidian want to support more callouts, we simply add it to the enum

* callout mapping const

Getting ride of the enum entierly as it's not worth here?

* fix callout icon styling

* Add forgotten icons

* Rebase

* harmonize callout icon and fold icon

* fix docs + prettier

* Update docs/features/callouts.md

Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>

* Update quartz/plugins/transformers/ofm.ts

Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>

* Suggestions fix

* remove unecessary rules

* comment is always nice

* Update docs/features/callouts.md

---------

Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
2024-01-30 22:10:13 -08:00
Jacky Zhao
ebf429a9c6 fix: fmt 2024-01-29 09:38:14 -08:00
Jacky Zhao
2d727443b3 fix: implement regex fix for alt in image wikilinks (closes #753) 2024-01-29 09:36:36 -08:00
Aaron Pham
f68872c09f
feat(icon): update content for gfm links (#751)
* feat(icon): update content for gfm links

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>

* chore: remove unused var

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>

* fix: inherit display to remove additional spacing

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>

* revert: remove redundant svg attribute

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>

---------

Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com>
2024-01-28 23:38:59 -08:00
Mara-Li
603c181ad2
feat: allow to config a translation for date (#739)
* fix: alt error mix with height/width

More granular detection of alt and resize in image

* fix: format

* feat: allow to translate the date displayed

* style: format

* fix: rename to fusion dateLocale with locale (i18n support)

* Update quartz/components/PageList.tsx

Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>

* remove default key as it was already set

* add docstring for locale

---------

Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
2024-01-28 22:13:59 -08:00
Jacky Zhao
85f05ea99b fix: revert parsing dates in frontmatter 2024-01-28 21:27:16 -08:00