1
0
mirror of https://gitlab.com/MisterBiggs/brain-quartz.git synced 2026-06-03 21:10:34 +00:00
Commit Graph

398 Commits

Author SHA1 Message Date
Anson e48fc95aaf Merge branch 'v4' of https://github.com/jackyzha0/quartz into v4 2026-01-15 00:46:07 -05:00
Emile Bangma f346a01296 feat(explorer): Add active class to current folder in explorer (#2196) 2026-01-08 09:54:41 +08:00
Jacky Zhao 7dc826be0a fix(css): darkmode + readermode safari height 2026-01-03 23:39:56 +08:00
Rahmat Ardiansyah bacd19c4ea feat: implement touch dragging event (#2224) 2025-12-09 13:50:04 -05:00
うろちょろ ec26ebcc9e feat: improve search tokenization for CJK languages (#2231)
* feat: improve search tokenization for CJK languages

Enhance the encoder function to properly tokenize CJK (Chinese, Japanese,
Korean) characters while maintaining English word tokenization. This fixes
search issues where CJK text was not searchable due to whitespace-only
splitting.

Changes:
- Tokenize CJK characters (Hiragana, Katakana, Kanji, Hangul) individually
- Preserve whitespace-based tokenization for non-CJK text
- Support mixed CJK/English content in search queries

This addresses the CJK search issues reported in #2109 where Japanese text
like "て以来" was not searchable because the encoder only split on whitespace.

Tested with Japanese, Chinese, and Korean content to verify character-level
tokenization works correctly while maintaining English search functionality.

* perf: optimize CJK search encoder with manual buffer tracking

Replace regex-based tokenization with index-based buffer management.
This improves performance by ~2.93x according to benchmark results.

- Use explicit buffer start/end indices instead of string concatenation
- Replace split(/\s+/) with direct whitespace code point checks
- Remove redundant filter() operations
- Add CJK Extension A support (U+20000-U+2A6DF)

Performance: ~878ms → ~300ms (100 iterations, mixed CJK/English text)

* test: add comprehensive unit tests for CJK search encoder

Add 21 unit tests covering:
- English word tokenization
- CJK character-level tokenization (Japanese, Korean, Chinese)
- Mixed CJK/English content
- Edge cases

All tests pass, confirming the encoder correctly handles CJK text.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-02 10:04:38 -08:00
Adam Laycock 87f7f4804e Prevent double-loading of afterDOMReady scripts (#2213)
Co-authored-by: Adam <adam@canny.io>
2025-11-27 14:51:56 -08:00
Anson ee80f65736 feat: hide category pills when category is already wiki-linked in content
Reduce visual clutter by only showing category pills for categories that
aren't already mentioned as wiki links in the note's content.

Implementation:
- Store outgoing links separately in links.ts before adding categories
- Added outgoingLinks to vfile DataMap type
- Modified CategoryList to filter out categories already in outgoingLinks
- Only category pills for unlinked categories are now displayed

Example:
If a note has categories: [[LLM]], [[Anthropic]], [[AI]] and the content
mentions [[LLM]] and [[Anthropic]], only the AI category pill will appear.

This follows Wikipedia's principle of avoiding redundant links and reduces
visual clutter while maintaining backlinks and graph connections.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 11:02:27 -05:00
Anson a1a9b5233d feat: implement wiki-linked categories with graph and backlinks integration
Add complete category system that integrates with Obsidian's wiki-linked
category frontmatter. Categories appear as pills on pages and link directly
to category notes (not aggregation pages).

Features:
- Parse [[Page Name]] syntax from category frontmatter
- Display category pills styled like tags
- Link directly to category notes
- Integrate with graph view connections
- Enable bidirectional backlinks
- Preserve case in category slugs

Implementation:
- Added extractWikiLinks() to frontmatter transformer
- Created CategoryList component for pill rendering
- Modified links transformer to include categories in links array
- Updated contentIndex to export category metadata
- Added i18n strings for category UI elements
- Set includeEmptyFiles: true to show empty category pages in graph

Files modified:
- quartz/plugins/transformers/frontmatter.ts
- quartz/plugins/transformers/links.ts
- quartz/plugins/emitters/contentIndex.tsx
- quartz/components/CategoryList.tsx (new)
- quartz/components/pages/CategoryContent.tsx (new)
- quartz/plugins/emitters/categoryPage.tsx (new)
- quartz/i18n/locales/en-US.ts
- quartz/i18n/locales/definition.ts
- quartz/components/index.ts
- quartz.layout.ts
- quartz.config.ts
- README.md (updated with Quartz updater documentation)

Security: Comprehensive privacy review confirms NO information leaks from
private folder. All ignore patterns working correctly.

Docs: Added CUSTOMIZATIONS.md with complete feature documentation,
implementation details, and privacy audit results.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 15:59:17 -05:00
Anson 342d6428a3 Merge branch 'v4' of https://github.com/jackyzha0/quartz into v4 2025-11-09 15:15:58 -05:00
Michael Thomason 2fdc8129b6 fix(components): prevent infinite recursion from circular transcludes (#2187)
* fix(components): prevent infinite recursion from circular transcludes

* chore(components): modify warning message

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

---------

Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
2025-11-01 06:22:29 -04:00
松浦 知也 Matsuura Tomoya 8bc6cb9061 fix(css): not break word in the search button placeholder (#2182)
* fixed not to break in the button

* fixed style
2025-10-31 17:01:51 -07:00
Jairus Joer 08c861707b fix(explorer): Disable keyboard navigation on collapsed folders (#2169) 2025-10-28 09:37:32 -07:00
Jacky Zhao 4c78d29c13 fix(search): css min padding 2025-09-18 13:45:17 -07:00
Amir Pourmand 7a77f54e50 fix(i18n): Add RTL Detection based on Config Set Language (#2100)
* Add rtl automatic detection to base.scss

* Implement RTL support for Arabic and Persian locales and update HTML direction attribute in renderPage component

* Update HTML direction attribute in renderPage component to prioritize frontmatter dir value

* Refactor renderPage component to simplify HTML direction attribute assignment by removing frontmatter dir fallback
2025-09-17 16:04:22 -07:00
Amir Pourmand 03ccac2872 feat: Update FlexSearch and Add Support for All Languages (#2108)
* chore(deps): update flexsearch to version 0.8.205 and adjust search encoder.

* refactor(search): enhance search encoder and update search results type

- Improved the encoder function to filter out empty tokens.
- Updated the search results type from a specific FlexSearch type to a more generic 'any' type for flexibility.
- Removed redundant rtl property from the index configuration.

* refactor(search): remove rtl property from search index configuration

* refactor(search): improve encoder function formatting

- Updated the encoder function to use consistent arrow function syntax for better readability.

* refactor(search): update search results type to DefaultDocumentSearchResults

- Imported DefaultDocumentSearchResults from FlexSearch for improved type safety.
- Changed the type of searchResults from 'any' to DefaultDocumentSearchResults<Item> for better clarity and maintainability.
2025-09-17 15:39:30 -07:00
Jacky Zhao 6add0c837e fix(style): layout flow, search restyle 2025-09-17 15:26:49 -07:00
Anson c2fb73e186 Merge branch 'v4' of https://github.com/jackyzha0/quartz into v4 2025-08-19 00:49:28 -06:00
Jacky Zhao 53d6e18e81 fix(a11y): aria-controls and role fixes 2025-08-03 22:44:35 -07:00
reagenzn 91059843ae fix(search): prevent Enter key handling during IME composition (#2070)
Add !e.isComposing check to Enter key handler in search functionality
to prevent unwanted navigation during Japanese/Asian text input composition
2025-08-01 11:57:32 -04:00
Emile Bangma efddd798e8 revert(graph): roll back changes due to issues with Safari (#2067)
* chore: remove unused dependency

* fix(graph): rolled back webgpu changes
2025-07-30 18:43:36 +02:00
Anson 8f42fac079 write my own recent notes sort function 2025-06-17 00:35:59 -06:00
Anson f1e6d516e6 now that recent notes are fixed lets show more of them 2025-06-09 21:58:56 -06:00
Anson 9c568ecbda Merge branch 'v4' of https://github.com/jackyzha0/quartz into v4 2025-06-09 21:47:50 -06:00
Jiangnan Li cdd0be2aa8 feat(giscus): expose language option for Comments component (#2012)
* add language support for Comment

* docs: let users know they can customize their language preference
2025-06-08 11:23:01 +02:00
Anson ab3bff9c09 personalize more 2025-06-04 21:44:51 -06:00
Emile Bangma 499adf4a4e fix(ios): mobile explorer overscroll behavior (#2008) 2025-06-03 13:51:38 -04:00
Emile Bangma b48aa91728 fix(flex): respect DesktopOnly and MobileOnly components (#1971)
* fix(flex): respect DesktopOnly and MobileOnly components

* Use classNames util function

* fix(ofm): allow wikilink alias to be empty (#1984)

This is in line with Obsidian's behavior.

* fix(style): Katex adding scrollbars on non-overflowing content (#1989)

* feat(i18n): Bahasa Indonesia translations (#1981)

* fix(a11y): increased content-meta text contrast (#1980)

* fix(analytics): streamline posthog script loading and event capturing (#1974)

* css: adjust color blend for search bg

* feat(links): added ofm option to style unresolved or broken links differently (#1992)

* feat: add option to disable broken wikilinks

* fix(style): update hover color for broken links and introduce new class

* feat: add "disableBrokenWikilinks" option to ObsidianFlavoredMarkdown

* chore(deps): replace `chalk` and `rimraf` with builtin functions (#1879)

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore(deps): bump the production-dependencies group across 1 directory with 9 updates (#1996)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Node 22 (#1997)

* docs: showcase housekeeping

* docs: fix explorernode references (closes #1985)

* fix: tz-less date parse in local tz instead of utc (closes #1615)

* docs: added note to not forget to add https:// to the plausible-host (for #1337) (#2000)

* docs: added note to not forget to add https:// to the plausible-host (for #1337)

* Update docs/configuration.md

---------

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

* Updated documentation

---------

Co-authored-by: Nizav <106657905+Ni-zav@users.noreply.github.com>
Co-authored-by: Aswanth <aswanth366@gmail.com>
Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
Co-authored-by: Keisuke ANDO <g.kei0429@gmail.com>
Co-authored-by: fl0werpowers <47599466+fl0werpowers@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sebastian Moser <64004956+c2vi@users.noreply.github.com>
2025-06-02 18:36:57 +02:00
Jacky Zhao c9349457ed css: adjust color blend for search bg 2025-05-27 10:00:19 -07:00
Emile Bangma c9741d00f3 fix(a11y): increased content-meta text contrast (#1980) 2025-05-23 22:09:48 -04:00
Felix Nie e98d97a271 feat(i18n): readermode translations and icon (#1961)
* fix(readermode): Translations and a new icon for ReaderMode

* Formatted

* Replaced icon
2025-05-07 21:56:18 +02:00
anthops adf442036b fix(graph): provide proper workaround for pixijs webgpu issue #1899 (#1949) 2025-04-30 09:49:41 -07:00
Stephen Tse 2acdec323f fix(explorer): Prevent html from being scrollable when mobile explorer is open (#1895)
* Fixed html page being scrollable when mobile explorer is open

* Prettier code

* Addressed comment
2025-04-26 11:13:56 -07:00
Stephen Tse 4bd714b7be fix(callout): Grid-based callout collapsible animation (#1944)
* Fixed broken nested callout maxHeight calculation

* Implemented grid-based callout collapsible
2025-04-26 11:05:51 -07:00
anthops 7d49dff074 fix: prefer webgl for devices with webgpu and no float32-blendable feature flag #1899 (#1933)
Co-authored-by: Tony <32993852+0xREDACTED@users.noreply.github.com>
2025-04-23 09:32:52 -07:00
Jacky Zhao 2a9290b3df fix(transclude): blockref detection 2025-04-22 11:18:50 -07:00
Jacky Zhao 6dd772bf00 fix(popover): properly clear popover on racing fetch 2025-04-21 23:55:38 -07:00
Jacky Zhao b34d521293 feat: reader mode 2025-04-17 19:45:17 -07:00
Jacky Zhao bfd72347cf fix(popover): clear popovers more aggressively, use href as id 2025-04-11 08:18:28 -07:00
Jacky Zhao 091cc1b05e fix(search): properly show mobile layout 2025-04-10 17:43:35 -07:00
Jacky Zhao e9b60c7285 fix(popover): popover id calculation + scroll consistency 2025-04-10 16:46:30 -07:00
Jacky Zhao b1a920e5c0 fix: add proper popover hint to tag content page 2025-04-10 16:28:36 -07:00
Emile Bangma 9db66d500e fix(popover): round coords remove blurred popovers (#1911) 2025-04-07 00:23:49 +02:00
Jacky Zhao ee8c1dc968 chore(css): style tweaks for overflow 2025-04-05 11:38:50 -07:00
1 gal Rosemary bb24cd13c7 fix(css): styles issues with popover, overflow, and scroll overflow (#1907)
* fix(style): fix toc overflow & scrolling overflow

* fix(style): fix explorer scrolling overflow

* fix(style): fix backlinks overflow & scrolling overflow

* fix(style): resolve popover overflow issue causing incomplete display

* chore: rename function to enhance readability

* fix(popover): make the backlink's id unique & use translate() instead of translateY()
2025-04-05 10:39:28 -07:00
Emile Bangma d61fb266c7 fix(popover): automatically position anchored links properly (#1897)
* fix(popover): automatically position heading links at heading

* Impement linking of blockreferences

* Popover fixes

* id mapping

* Remove excess regexes

* Updated blockref

* Remove linker element

* Restore the docs to their former glory

* Move the hash out of the loop

* Redundant

* Redundant

* Restore docs

* Remove log

* Let it const
2025-04-05 10:31:17 -07:00
K Gopal Krishna 685c06ce2e fix(RecentNotes): Prevent folder pages from always appearing first (closes #1901) (#1904)
* Fix(RecentNotes): Prevent folder pages from always appearing first

Pass prioritizeFolders=false to byDateAndAlphabetical in RecentNotes to sort strictly by date/alphabetical order, fixing issue #1901.

* refactor: split sorting functions for clarity

- Split byDateAndAlphabetical into two separate functions\n- byDateAndAlphabetical: sorts strictly by date and alphabetically\n- byDateAndAlphabeticalFolderFirst: sorts with folders first\n- Updated RecentNotes to use date-only sorting

* Fix(PageList): keep byDateAndAlphabeticalFolderFirst as the default sorting order for PageList
2025-04-04 10:36:29 -07:00
Jacky Zhao 3ae89a1d16 fix(search): make closest sidebar z-index adjustment optional (closes #1905) 2025-04-04 10:17:57 -07:00
Stephen Tse ec4700d522 Hey folder icon don't shrink please (#1872) 2025-03-30 19:08:20 -07:00
Jacky Zhao d6f69e830c fix: remove redundant log and display in parent of overflow 2025-03-30 18:15:25 -07:00
Jacky Zhao 9ee6fe15fd fix: reproducible overflowlist (closes #1885) 2025-03-30 18:04:48 -07:00