* fix: small typos (#686) * fix: sluggify pound (closes #681) * fix: add another test for notes with dots * fix: dont hijack handlers when search is not focused (closes #680) * docs: add sidneys artist handbook to showcase * feat: improve default layout * fix: unbork search shortcut * fix: allow transcludes of notes with dots (closes #682) * fix: rebuild errors on windows (#692) * Revert "fix: rebuild errors on windows (#692)" (#695) This reverts commit8eec47c340. * fix: dont use default callout title if theres additional title children left (closes #693) * feat: External link icons (#697) * fix: external link icon shouldn't be vertical aligned (#699) * fix: use joinSegments for `contentIndex.json` file path (#702) * feat: add ofm option to transform `<img>` tags with video exts into `<video>` (closes #463) (#664) * enableVideoEmbed plugin * enableVideoEmbed plugin * enableVideoEmbed plugin * enableVideoEmbed plugin * enableVideoEmbed plugin * cleaned up index validation, regex, conditional, no autoplay * Update quartz/plugins/transformers/ofm.ts Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * Update quartz/plugins/transformers/ofm.ts Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * Update quartz/plugins/transformers/ofm.ts Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * Update ofm.ts * Update ofm.ts --------- Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * fix: clean up ofm code for video parsing * fix: remove extra console log * style: make internal link have less visual padding (closes #706) * refactor: move emit from callback to helper file function (#704) * Change emit from callback to helpers file function * Update docs, remove commented code, improve type sig * fix: allow dashes and underscores in block references (closes #712) * feat: Add an option to display or not reading time from notes (#707) * add an option to display or not reading time from notes * Prettier (?) * Remove ContentMeta override from quartz.layout.ts * Make it positive ! 🌞 * Update quartz/components/ContentMeta.tsx --------- Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * feat(ofm): add options to parse arrows (#713) * feat(ofm): add options to parse arrows Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * feat(ofm): add options to parse arrows Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> --------- Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix: remove quartz 3 references, update font style in popovers * fix(search): use anchor element (closes #698) (#717) * fix(search): use anchor element This addresses #698 to allow search title to include links for SPA Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix: formatter Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: move itemTile to `a` Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: remove nested a title Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore(search): remove spaNavigate since now searchResult is an `a` item Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> --------- Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix: breadcrumbs on non-folder pages * fix: process comments at a text level rather than a markdown level * fix: more robust ofm comment handling * fix: font weight in search * fix: add polyfill for broken tabindex on mac * pkg: bump to 4.1.5 * fix(search): update no results to be `a` (#721) Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * cleanup: Move `rebuild` function outside `startServing` function (#715) * Move rebuild function outside `startServing` * Move toRebuild and toRemove inside rebuild func * Revert "Move toRebuild and toRemove inside rebuild func" This reverts commit8c4dbb13c7. * Rename func to rebuildFromEntrypoint * feat: Emit custom event when theme changes (#723) * Emit custom event when theme changes * Type themechange custom event * Update darkmode docs * fix(style): make a not inline-block * fix: make search result card block * fix: border-box result-card * feat: Enable custom callout (#724) * Enable custom callout make a callout custom defaulted to a note one. * Add a comment * remove comment from quartz/plugins/transformers/ofm.ts Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * Update quartz/plugins/transformers/ofm.ts Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> --------- Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * fix: code block overflow scroll (#729) * docs: rearrange showcase * docs: add nicole van der hoeven's setup guide * fix: allow partial when specifiying layout for emitter plugins * docs: fix phrasing * docs: i can't type * feat: Handling cssclasses properties in Quartz (#711) * Add cssclasses to article * Prettier * Update quartz/components/pages/Content.tsx * Update quartz/components/pages/Content.tsx --------- Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * fix: generalize frontmatter parsing and coercing * feat: enable dependabot * chore(deps): bump rehype-pretty-code from 0.12.3 to 0.12.6 (#741) Bumps [rehype-pretty-code](https://github.com/atomiks/rehype-pretty-code) from 0.12.3 to 0.12.6. - [Release notes](https://github.com/atomiks/rehype-pretty-code/releases) - [Commits](https://github.com/atomiks/rehype-pretty-code/compare/v0.12.3...v0.12.6) --- updated-dependencies: - dependency-name: rehype-pretty-code dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-dev): bump tsx from 4.6.2 to 4.7.0 (#743) Bumps [tsx](https://github.com/privatenumber/tsx) from 4.6.2 to 4.7.0. - [Release notes](https://github.com/privatenumber/tsx/releases) - [Changelog](https://github.com/privatenumber/tsx/blob/develop/release.config.cjs) - [Commits](https://github.com/privatenumber/tsx/compare/v4.6.2...v4.7.0) --- updated-dependencies: - dependency-name: tsx dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump @napi-rs/simple-git from 0.1.9 to 0.1.11 (#746) Bumps [@napi-rs/simple-git](https://github.com/Brooooooklyn/simple-git) from 0.1.9 to 0.1.11. - [Release notes](https://github.com/Brooooooklyn/simple-git/releases) - [Commits](https://github.com/Brooooooklyn/simple-git/compare/v0.1.9...v0.1.11) --- updated-dependencies: - dependency-name: "@napi-rs/simple-git" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump rehype-mathjax from 5.0.0 to 6.0.0 (#745) Bumps [rehype-mathjax](https://github.com/remarkjs/remark-math) from 5.0.0 to 6.0.0. - [Release notes](https://github.com/remarkjs/remark-math/releases) - [Commits](https://github.com/remarkjs/remark-math/compare/rehype-mathjax@5.0.0...rehype-mathjax@6.0.0) --- updated-dependencies: - dependency-name: rehype-mathjax dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump shikiji from 0.9.9 to 0.10.2 (#742) Bumps [shikiji](https://github.com/antfu/shikiji/tree/HEAD/packages/shikiji) from 0.9.9 to 0.10.2. - [Release notes](https://github.com/antfu/shikiji/releases) - [Commits](https://github.com/antfu/shikiji/commits/v0.10.2/packages/shikiji) --- updated-dependencies: - dependency-name: shikiji dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * deps: bump flexsearch * fix: revert bad tsconfig change * feat: Option to mask folder count (#734) * Option to mask folder count * Update quartz/components/pages/FolderContent.tsx --------- Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * fix: fmt * fix: allow alt to be defined in wikilinks alongside dims * style: remove redundant webkit prefix * docs: improve first-time git setup * fix: revert parsing dates in frontmatter * fix: content-disposition inline should apply to all resource types (closes #728) * fix: `cssclasses` was not applied on folder note (index) (#749) * docs: improve first-time git setup * fix: cssClasses was not applied on index page * refactor: remove vscode files * fix: format * fix: cssClasses should be applied on the entire div, not only the article * feat: support cssClasses for tag-listing --------- Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * 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> * feat: div that encapsulate PageList component (#750) * feat: div that encapsulate PageList component * change class to follow review Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * apply page-listing div to TagContent --------- Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * 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> * fix: attempt to merge cached folder state between builds (closes #691) * fix: implement regex fix for alt in image wikilinks (closes #753) * fix: fmt * chore(deps): bump @napi-rs/simple-git from 0.1.11 to 0.1.14 (#756) Bumps [@napi-rs/simple-git](https://github.com/Brooooooklyn/simple-git) from 0.1.11 to 0.1.14. - [Release notes](https://github.com/Brooooooklyn/simple-git/releases) - [Commits](https://github.com/Brooooooklyn/simple-git/compare/v0.1.11...v0.1.14) --- updated-dependencies: - dependency-name: "@napi-rs/simple-git" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump rfdc from 1.3.0 to 1.3.1 (#759) Bumps [rfdc](https://github.com/davidmarkclements/rfdc) from 1.3.0 to 1.3.1. - [Commits](https://github.com/davidmarkclements/rfdc/compare/v1.3.0...v1.3.1) --- updated-dependencies: - dependency-name: rfdc dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump remark-rehype from 11.0.0 to 11.1.0 (#758) Bumps [remark-rehype](https://github.com/remarkjs/remark-rehype) from 11.0.0 to 11.1.0. - [Release notes](https://github.com/remarkjs/remark-rehype/releases) - [Commits](https://github.com/remarkjs/remark-rehype/compare/11.0.0...11.1.0) --- updated-dependencies: - dependency-name: remark-rehype dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump workerpool from 8.0.0 to 9.1.0 (#757) * chore(deps): bump workerpool from 8.0.0 to 9.1.0 Bumps [workerpool](https://github.com/josdejong/workerpool) from 8.0.0 to 9.1.0. - [Changelog](https://github.com/josdejong/workerpool/blob/master/HISTORY.md) - [Commits](https://github.com/josdejong/workerpool/compare/v8.0.0...v9.1.0) --- updated-dependencies: - dependency-name: workerpool dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * remove @types/workerpool --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * fix(type): make sure dispatchEvent also accept UIEvent (#760) Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix(div): update class name to remove weird space afterwards (#763) Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix(type): annotate event for nav (#761) Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix(css): improve wrapping when right sidebar has more than two items (#762) * improve wrapping when right sidebar has more than two items, particularly on mobile * Adjusted min-width * feat: support selfhost umami (#764) * feat: support selfhsot umami * Update quartz/plugins/emitters/componentResources.ts Co-authored-by: Aaron Pham <29749331+aarnphm@users.noreply.github.com> * Update quartz/plugins/emitters/componentResources.ts Co-authored-by: Aaron Pham <29749331+aarnphm@users.noreply.github.com> --------- Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> Co-authored-by: Aaron Pham <29749331+aarnphm@users.noreply.github.com> * chore(deps-dev): bump prettier from 3.1.1 to 3.2.4 (#768) * chore(deps-dev): bump prettier from 3.1.1 to 3.2.4 Bumps [prettier](https://github.com/prettier/prettier) from 3.1.1 to 3.2.4. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/3.1.1...3.2.4) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * format --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * chore(deps-dev): bump @types/node from 20.3.3 to 20.11.11 (#767) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.3.3 to 20.11.11. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump @floating-ui/dom from 1.5.3 to 1.6.1 (#766) Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.5.3 to 1.6.1. - [Release notes](https://github.com/floating-ui/floating-ui/releases) - [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md) - [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.1/packages/dom) --- updated-dependencies: - dependency-name: "@floating-ui/dom" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump lightningcss from 1.22.1 to 1.23.0 (#765) Bumps [lightningcss](https://github.com/parcel-bundler/lightningcss) from 1.22.1 to 1.23.0. - [Release notes](https://github.com/parcel-bundler/lightningcss/releases) - [Commits](https://github.com/parcel-bundler/lightningcss/compare/v1.22.1...v1.23.0) --- updated-dependencies: - dependency-name: lightningcss dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * 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> * fix: properly parse tags in body * feat(search): experimental telescope layout (closes #718) (#722) * feat(search): telescope-style search Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore(search): cleanup some basis and borders Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix(search): make sure to set overflow-y Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * feat(search): shows preview on desktop only search Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * perf: add options to control layout through config cache memoize results to avoid fetching Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: use the default configuration * fix: correct minor type for search Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix: use datasets to query for preview Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: layout changes show preview on normal layout, and only show previous layout in list page. * fix(type): annotate search with types Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: apply jacky's suggestion Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * chore: using map API and scss Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix: styling on search container view on phones Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * Update quartz.layout.ts Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> --------- Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * chore(deps): bump katex to 0.16.9 (#772) Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * feat(usability): update functions for search (#774) * feat(usability): update functions for search Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * perf: slightly cleaner variables Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> --------- Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix(style): search preview consistency * pkg: bump to 4.1.6 * fix: allow formatting in callout titles * docs: fix outdated comment on rebuild debounce behaviour * fix: fmt * fix(search): remove background with mouseEvent (#775) * fix(search): remove background with mouseEvent make sure when mouseenter we remove all existing background Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: update logics from suggestions Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * revert: class is evicted * fix: address correct type Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> --------- Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * fix: regression in formatted callout titles * deps: reduce dependabot frequency * chore(deps-dev): bump @types/node from 20.11.11 to 20.11.14 (#779) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.11.11 to 20.11.14. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump async-mutex from 0.4.0 to 0.4.1 (#777) Bumps [async-mutex](https://github.com/DirtyHairy/async-mutex) from 0.4.0 to 0.4.1. - [Changelog](https://github.com/DirtyHairy/async-mutex/blob/master/CHANGELOG.md) - [Commits](https://github.com/DirtyHairy/async-mutex/compare/v0.4.0...v0.4.1) --- updated-dependencies: - dependency-name: async-mutex dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump mdast-util-to-hast from 13.0.2 to 13.1.0 (#776) Bumps [mdast-util-to-hast](https://github.com/syntax-tree/mdast-util-to-hast) from 13.0.2 to 13.1.0. - [Release notes](https://github.com/syntax-tree/mdast-util-to-hast/releases) - [Commits](https://github.com/syntax-tree/mdast-util-to-hast/compare/13.0.2...13.1.0) --- updated-dependencies: - dependency-name: mdast-util-to-hast dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-dev): bump @types/hast from 3.0.3 to 3.0.4 (#780) Bumps [@types/hast](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/hast) from 3.0.3 to 3.0.4. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/hast) --- updated-dependencies: - dependency-name: "@types/hast" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(search): improve more general usability (closes #781) (#782) * fix(search): improve more general usability Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix: revert naming Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix: correct check for enter event on no-match cases Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * Update quartz/components/scripts/search.inline.ts Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * chore: remove unecessary class for tracking mouse Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> --------- Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * feat(search): highlight on preview (#783) * feat: primitive full-text search on preview Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix: remove invalid regex and unused code path Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> --------- Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix(search): increase size on fullPageWidth viewport (#784) * fix(search): increase size on fullPageWidth viewport Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: fix width size to be consistent on multiple views Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: set layout to 0 if there is no term remove flashing by setting max-height Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> --------- Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore(search): check for input type and assignment of focus (#785) Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * docs: clarity for `RecentNotes` (#786) - Removed a word for clarity - added reference to layout file * chore: add window.addCleanup() for cleaning up handlers * feat: improve search preview styling and tokenization * fix: border radius on search preview * fix: index setup, styling fixes * chore(cleanup): misc refactoring for cleanup, fix some search bugs * pkg: bump to 4.2.0 * chore: fmt * fix: flatmap children when highlighting rich preview to avoid body * fix: be more eager about constructing search index * fix(style): reasonable page width for rich search preview * fix(search): set correct attribute on hover icon (#787) Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix: parallelize search indexing * fix: font weight consistency * fix: font smoothing defaults * fix(revert): font aliasing * fix: use display instead of visibility for click handling pasthrough * fix: search async ordering, scroll offset * fix(style): remove redundant selector * pkg: bump to 4.2.1 * fix(style): correctly collapse on mobile * 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. * fix(search): null checks and focus fixes * fix(style): prevent callout icon from shrinking on long titles (closes #792) * fix(search): dont rely on mouse to manipulate focus * fix(search): oops restore ability to preview on hover lol * fix(search): flex basis and card highlighting * fix: calculate heading after latex (closes #719) * feat: Adding support for i18n (closes #462) (#738) * fix: alt error mix with height/width More granular detection of alt and resize in image * fix: format * feat: init i18n * feat: add translation * style: prettier for test * fix: build-up the locale to fusion with dateLocale * style: run prettier * remove cursed file * refactor: remove i18n library and use locale way instead * format with prettier * forgot to remove test * prevent merging error * format * format * fix: allow string for locale - Check during translation if valid / existing locale - Allow to use "en" and "en-US" for example - Add fallback directly in the function - Add default key in the function - Add docstring to cfg.ts * forgot item translation * remove unused locale variable * forgot to remove fr-FR testing * format * 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> * fix(i18n): backlinks naming in mapping (#800) * chore(i18n): refactor and cleanup (#805) * checkpoint * finish * docs * fix(path): properly path encode & * pkg: bump to 4.2.2 * style(search): increase width on mobile view (#796) Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * 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> * feat(i18n): German translation (#808) * feat(i18n): Add Japanese to i18n (#809) Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * feat(i18n): Add Dutch to i18n (#813) * Create nl-NL.ts * Update index.ts * Update nl-NL.ts * chore(deps): bump @napi-rs/simple-git from 0.1.14 to 0.1.16 (#810) Bumps [@napi-rs/simple-git](https://github.com/Brooooooklyn/simple-git) from 0.1.14 to 0.1.16. - [Release notes](https://github.com/Brooooooklyn/simple-git/releases) - [Commits](https://github.com/Brooooooklyn/simple-git/compare/v0.1.14...v0.1.16) --- updated-dependencies: - dependency-name: "@napi-rs/simple-git" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps-dev): bump @types/node from 20.11.14 to 20.11.16 (#811) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.11.14 to 20.11.16. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(i18n): add default locale * fix(i18n): forgot a string * perf: don't load mermaid if its not on the page * fix(search): set background-color for icon within preview panel (#815) Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * 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> * feat(i18n): add Romanian to i18n (#821) * chore(lang): lang element based on frontmatter or default locale (#819) default locale Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * add Spanish translations (#822) * add Spanish translations * format with prettier * clears npm ci, formatted w/ prettier * feat(fonts): fetch before build (#817) * feat: fetch google fonts before build Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * Update quartz/plugins/emitters/componentResources.ts * fix: fetching wolff2 Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: remove request stylesheet Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix: race condition Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: remove preconnect for static fonts since we are already downloading fonts into public folder Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: remove deadcode Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: add options to gate for cdn caching Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * chore: apply jacky's suggestion Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * chore: add docs and only use one promise Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix: fmt Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: remove deadcode * chore: final touches Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * revert: changes in theme.ts * fix: styles and remove deadcode Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> --------- Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * fix(umami): format correct string from custom hosts (#826) * added Ukrainian to i18n (#829) * feat(i18n): use Romanian translation for `ro-MD` locale (#828) * fix: set default locale for lang attribute * feat(experimental): partial rebuilds (#716) * feat(i18n): add Arabic translation (#837) * feat(i18n): add Arabic translation * chore: format * 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> * chore: move fonts all into static folder (#835) * chore: move fonts all into static folder Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * chore: update formatter Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> --------- Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * 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> * feat(i18n): localize the min read string (#838) * feat(i18n): localize the min read string fixes #825 * chore: format * docs: add documentation for Umami analytics integration (#846) * chore: refactor out and export endsWith * fix: breadcrumbs displayName issue for file names ending with index (#839) * feat(i18n): localize the `min read` string for the `ro-RO` locale (#847) * feat(i18n): localize `min read` string for `ro-RO` locale * chore: run Prettier on `quartz/i18n/locales/ro-RO.ts` * fix(breadcrumbs): folder index by full path rather than folder name (closes #676) * chore(deps): bump esbuild-sass-plugin from 2.16.0 to 2.16.1 (#778) Bumps [esbuild-sass-plugin](https://github.com/glromeo/esbuild-sass-plugin) from 2.16.0 to 2.16.1. - [Release notes](https://github.com/glromeo/esbuild-sass-plugin/releases) - [Commits](https://github.com/glromeo/esbuild-sass-plugin/compare/v2.16.0...v2.16.1) --- updated-dependencies: - dependency-name: esbuild-sass-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(ofm): allow diacretic marks in tag regex (closes #830) * fix(fast rebuild): call only required emitters, don't always copy assets (#845) * fix(fast rebuild): call only required emitters, don't always copy assets * Type function * feat: add transclude-src to transclude 'link to original' * feat(i18n): localize the min read string for the nl-NL locale (#850) * Update min read translation * Added nl_BE to Dutch Added Flemish (nl_BE) to point to nl. * Removed period to match other translations * fix(analytics): umami custom host should be a string (closes #852) * chore(deps-dev): bump tsx from 4.7.0 to 4.7.1 (#859) Bumps [tsx](https://github.com/privatenumber/tsx) from 4.7.0 to 4.7.1. - [Release notes](https://github.com/privatenumber/tsx/releases) - [Changelog](https://github.com/privatenumber/tsx/blob/develop/release.config.cjs) - [Commits](https://github.com/privatenumber/tsx/compare/v4.7.0...v4.7.1) --- updated-dependencies: - dependency-name: tsx dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump preact from 10.19.3 to 10.19.4 (#858) Bumps [preact](https://github.com/preactjs/preact) from 10.19.3 to 10.19.4. - [Release notes](https://github.com/preactjs/preact/releases) - [Commits](https://github.com/preactjs/preact/compare/10.19.3...10.19.4) --- updated-dependencies: - dependency-name: preact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump @floating-ui/dom from 1.6.1 to 1.6.3 (#857) Bumps [@floating-ui/dom](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/dom) from 1.6.1 to 1.6.3. - [Release notes](https://github.com/floating-ui/floating-ui/releases) - [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/dom/CHANGELOG.md) - [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/dom@1.6.3/packages/dom) --- updated-dependencies: - dependency-name: "@floating-ui/dom" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: incorrect link resolution for transclusion in root index file (#853) Co-authored-by: Lauréline Nevin <laureline.nevin@unicaen.fr> * fix: base.com not being resolved properly with joinSegments * chore(types): add additional hint for LSP support (#864) Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * docs: workaround for shallow clones on Cloudflare Pages (#868) Rather than recommend a different hosting provider, Cloudflare Pages users that prioritize the `git` method for their `CreatedModifiedDate` configuration can preface the build command with a means of fetching the required repository history. See: - https://gohugo.io/methods/page/gitinfo/#hosting-considerations * Add support for image popovers (#854) * feat(popover): Add support for images * fix: run prettier * feat(popover): use switch logic for content types & adjust styles * feat(popover): Add content type data tag for popover-inner class * feat: implement getDependencyGraph for FolderPage (#849) * feat: implement getDependencyGraph for AliasRedirects emitter (#860) * fix/feat(fast rebuild): re-render transclusions in normal and fastRebuild mode (#842) * Re-render transclusions in normal watch mode * Include transclusions in ContentPage getDependencyGraph * Address PR comments * 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> * fix(style): introduce semiBoldWeight and various improvements to reduce CLS * fix(style): bold should use semibold * fix(breadcrumbs): calculate trailing slash for tag hierarchies (closes #873) * feat(i18n): add Russian (#886) * feat(i18n): add Korean (#889) * feat(i18n): add Korean * feat(i18n): add Korean * perf(cdn): CDNJS instead of JSDelivr (#891) * 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> * feat(i18n): Add Italian (#893) Signed-off-by: Leonardo Ledda <leonardoledda@gmail.com> * docs: add self-hosting section (#883) * Add Self-Hosting section Add Nginx section * run prettier * feat(i18n): add Simplified Chinese (#896) * feat: implement getDependencyGraph for TagPage (#872) * feat: implement getDependencyGraph for TagPage * Only add file to dg if it has at least 1 tag * fix: remove assets via globs to avoid volume mount lock (#877) * Fix docker volume lock issue by altering asset cleanup method Modified build process to prevent the deletion of the output directory. * Add fsOps utility for filesystem operations * Use cleanDirectory in build process to fix volume lock issue * applied prettier * handle ENOENT error when output dir does not exist * remove native function in favor of rimraf * use path.join to concatenate paths * chore(deps-dev): bump @types/node from 20.11.16 to 20.11.19 (#899) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.11.16 to 20.11.19. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump globby from 14.0.0 to 14.0.1 (#897) Bumps [globby](https://github.com/sindresorhus/globby) from 14.0.0 to 14.0.1. - [Release notes](https://github.com/sindresorhus/globby/releases) - [Commits](https://github.com/sindresorhus/globby/compare/v14.0.0...v14.0.1) --- updated-dependencies: - dependency-name: globby dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump preact from 10.19.4 to 10.19.5 (#898) Bumps [preact](https://github.com/preactjs/preact) from 10.19.4 to 10.19.5. - [Release notes](https://github.com/preactjs/preact/releases) - [Commits](https://github.com/preactjs/preact/compare/10.19.4...10.19.5) --- updated-dependencies: - dependency-name: preact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: correctly parse falsy js as title (#900) * feat(i18n): change itemsUnderFolder, itemsUnderTag translation of ko-KR (#905) * feat(i18n): add Korean * feat(i18n): add Korean * feat(i18n): change itemsUnderFolder, itemsUnderTag translation of ko-KR * fix: add space and missing dot for listing pages (#907) * fix(toc): correct type for minEntries param (#909) * docs: Fix in explorer.md (#911) * docs: Add Aster's notebook to showcase.md (#912) * chore: passing additional buildCtx to componentData (#914) Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * feat(popover): add support for PDF (#913) * feat(popover): add support for PDF Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore: split pdf by ';' Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix: remove unnecessary check Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> --------- Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore(img): return targetUrl as given href (#916) Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * deps(highlighting): migrate to shiki as shikiji has been archived (#918) * fix(docs): make docs accurate to callout behaviour (closes #920) * fix(callouts): use user provided title instead of canonical for default title * docs: update plugin documentation (#888) * docs: first few plugins documented * docs: move plugin info * docs: move plugin docs to tag based system * docs: update latex example code snippet * docs: fix spelling of latex in title * docs: add missing linebreak * docs: remove plugin tag from feature pages * docs: shorten titles * docs: refine wording * docs: move plugin details for frontmatter * docs: add features/* tags * docs: update latex example * docs: make references more explicit * docs: add stubs for the remaining plugins * docs: more descriptions * docs: fix feature tags * docs: descriptions * docs: new plugin pages * docs: update configuration page * docs: more plugin work * docs: run prettier * docs: remove comments in config file and add link to docs * docs: minor fixes * docs: run prettier * docs: spelling * docs: update docs/plugins/AliasRedirects.md Co-authored-by: Aaron Pham <29749331+aarnphm@users.noreply.github.com> * docs: update docs/plugins/Assets.md Co-authored-by: Aaron Pham <29749331+aarnphm@users.noreply.github.com> * docs: update docs/plugins/CNAME.md Co-authored-by: Aaron Pham <29749331+aarnphm@users.noreply.github.com> * docs: update docs/plugins/Static.md Co-authored-by: Aaron Pham <29749331+aarnphm@users.noreply.github.com> * docs: update docs * docs: update docs/features/Mermaid diagrams.md Co-authored-by: Aaron Pham <29749331+aarnphm@users.noreply.github.com> * docs: update docs/plugins/RemoveDrafts.md Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * docs: update docs/plugins/Assets.md Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * docs: update docs/configuration.md Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * docs: update docs/configuration.md Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * docs: update docs/configuration.md Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * docs: some updates * docs: work in review comments --------- Signed-off-by: Eiko Wagenknecht <git@eiko-wagenknecht.de> Co-authored-by: Aaron Pham <29749331+aarnphm@users.noreply.github.com> Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> * docs(latex): mhchem * fix(fast rebuild): handle added an deleted markdown correctly (#921) * Handle added files correctly * Handle deletes properly * addGraph renamed to mergeGraph * fix(ci): autotag * pkg: bump to 4.2.3 * ci: fix autotag * ci: tag as a separate step * ci: fix typo in runs-on * ci: also checkout and install node before tagging * docs: fix tag page oops (#925) * chore(types): update correct annotations for pages (#928) * chore(type): export attribute for theme key (#933) Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore(deps): bump preact from 10.19.5 to 10.19.6 (#935) Bumps [preact](https://github.com/preactjs/preact) from 10.19.5 to 10.19.6. - [Release notes](https://github.com/preactjs/preact/releases) - [Commits](https://github.com/preactjs/preact/compare/10.19.5...10.19.6) --- updated-dependencies: - dependency-name: preact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump chokidar from 3.5.3 to 3.6.0 (#937) Bumps [chokidar](https://github.com/paulmillr/chokidar) from 3.5.3 to 3.6.0. - [Release notes](https://github.com/paulmillr/chokidar/releases) - [Commits](https://github.com/paulmillr/chokidar/compare/3.5.3...3.6.0) --- updated-dependencies: - dependency-name: chokidar dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * docs: Clarifications in the Explorer Docs (#938) add example to filter by tags. * fix: correct umami host for self-hosted (#939) * fixed umami script path for self-hosted version * Update quartz/plugins/emitters/componentResources.ts Co-authored-by: Aaron Pham <29749331+aarnphm@users.noreply.github.com> --------- Co-authored-by: Aaron Pham <29749331+aarnphm@users.noreply.github.com> * feat(i18n): add Vietnamese translation (#950) * fix(callout): reorder the plugins to render latex on callout title (closes #952) (#934) Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore(deps): bump remark-smartypants from 2.0.0 to 2.1.0 (#755) Bumps [remark-smartypants](https://github.com/silvenon/remark-smartypants) from 2.0.0 to 2.1.0. - [Release notes](https://github.com/silvenon/remark-smartypants/releases) - [Commits](https://github.com/silvenon/remark-smartypants/compare/v2.0.0...v2.1.0) --- updated-dependencies: - dependency-name: remark-smartypants dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: support transcluding codeblocks and blockquotes (closes #940) * fix(docs): correct ExplicitPublish as filters instead of transformers (#953) * 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 * feat(graph): focusOnHover (#954) by default, globalGraph will enable focusOnHover, similar to Obsidian. --------- Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * chore(deps): bump lightningcss from 1.23.0 to 1.24.0 (#961) Bumps [lightningcss](https://github.com/parcel-bundler/lightningcss) from 1.23.0 to 1.24.0. - [Release notes](https://github.com/parcel-bundler/lightningcss/releases) - [Commits](https://github.com/parcel-bundler/lightningcss/compare/v1.23.0...v1.24.0) --- updated-dependencies: - dependency-name: lightningcss dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump preact-render-to-string from 6.3.1 to 6.4.0 (#960) Bumps [preact-render-to-string](https://github.com/developit/preact-render-to-string) from 6.3.1 to 6.4.0. - [Release notes](https://github.com/developit/preact-render-to-string/releases) - [Changelog](https://github.com/preactjs/preact-render-to-string/blob/main/CHANGELOG.md) - [Commits](https://github.com/developit/preact-render-to-string/compare/v6.3.1...6.4.0) --- updated-dependencies: - dependency-name: preact-render-to-string dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump shiki from 1.1.6 to 1.1.7 (#959) Bumps [shiki](https://github.com/shikijs/shiki/tree/HEAD/packages/shiki) from 1.1.6 to 1.1.7. - [Release notes](https://github.com/shikijs/shiki/releases) - [Changelog](https://github.com/shikijs/shiki/blob/main/CHANGELOG.md) - [Commits](https://github.com/shikijs/shiki/commits/v1.1.7/packages/shiki) --- updated-dependencies: - dependency-name: shiki dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * revert: "fix(callout): reorder the plugins to render latex on callout… (#965) This reverts commit018c6358c4. * fix: transclude all subsections for embedded call (closes #963) (#964) * chore(deps-dev): bump @types/node from 20.11.19 to 20.11.24 (#958) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.11.19 to 20.11.24. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: transclude subsection without dynamic regex construction * feat: support youtube playlist iframe (#968) * feat: support youtube playlist iframe * chore: updated Youtube embed documentation to include playlists * fix(tag): move hash to sass styling only (#930) * fix(tag): remove hash on main page (#969) Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix: remove extra # from tag content * feat(analytics): Goatcounter support (#956) * Add options to support goatcounter analytics * goatcounter: support self-hosted * Add to configuration docs for goatcounter settings * use https instead of protocol-relative link for goatcounter js * fix(description): make sure to we join space correctly (#970) Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> * fix(description): counts characters instead of words (#972) * fix(description): make sure description counts characters instead of words * ref: removed duplicate ternary * fix(i18n): make sure to use correct fileData for manual localization (#975) Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> --------- Signed-off-by: Aaron <29749331+aarnphm@users.noreply.github.com> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Eiko Wagenknecht <git@eiko-wagenknecht.de> Signed-off-by: Leonardo Ledda <leonardoledda@gmail.com> Co-authored-by: ikorihn <16367098+ikorihn@users.noreply.github.com> Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com> Co-authored-by: kabirgh <15871468+kabirgh@users.noreply.github.com> Co-authored-by: sean <146651411+tuta-amb@users.noreply.github.com> Co-authored-by: Matthew Bailin <matthewdbailin@gmail.com> Co-authored-by: LUCASTUCIOUS <peterlucas2804@gmail.com> Co-authored-by: Aaron Pham <29749331+aarnphm@users.noreply.github.com> Co-authored-by: Xinyang Yu <47915643+xy-241@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mara-Li <lili.simonetti@outlook.fr> Co-authored-by: Mara-Li <mara-li@outlook.fr> Co-authored-by: Justin Fowler <justin.fowler@hey.com> Co-authored-by: 1900 <me@1900.live> Co-authored-by: Luis Michaelis <me@lmichaelis.de> Co-authored-by: Mats Fangohr <83273529+MatsFangohr@users.noreply.github.com> Co-authored-by: 松浦 知也 Matsuura Tomoya <me@matsuuratomoya.com> Co-authored-by: Emile Bangma <ewjbangma@hotmail.com> Co-authored-by: Silviu Lorenț <124451350+smilorent@users.noreply.github.com> Co-authored-by: Miguel Pimentel <contact@miguelpimentel.do> Co-authored-by: Serhii Stets <stets.serhii@gmail.com> Co-authored-by: Alq <ahmed.elq53@gmail.com> Co-authored-by: Neel Shah <neelshah.1998@gmail.com> Co-authored-by: Lin <git@compilin.dev> Co-authored-by: Lauréline Nevin <laureline.nevin@unicaen.fr> Co-authored-by: Aaron Bull Schaefer <aaron@elasticdog.com> Co-authored-by: David Fischer <david@konst.fish> Co-authored-by: makondratev <69584771+makondratev@users.noreply.github.com> Co-authored-by: JONG HWAN KIM <99215801+JongDeug@users.noreply.github.com> Co-authored-by: s-crypt <41712656+s-crypt@users.noreply.github.com> Co-authored-by: Eiko Wagenknecht <git@eiko-wagenknecht.de> Co-authored-by: Leonardo Ledda <35930217+LeddaZ@users.noreply.github.com> Co-authored-by: kon-foo <25391223+kon-foo@users.noreply.github.com> Co-authored-by: KylinDC <solder-hulls.06@icloud.com> Co-authored-by: Aster Hu <asterhu17@gmail.com> Co-authored-by: HakuGuen <80277109+HakuGuen@users.noreply.github.com> Co-authored-by: sventec <sventec@users.noreply.github.com> Co-authored-by: Matt Vogel <mainmoniker@googlemail.com> Co-authored-by: Tyler Funk <tcfunk25@gmail.com>
11 KiB
| title | date |
|---|---|
| Memories for All | Feb 15, 2024 |
TL;DR
Personalization is the next frontier. OpenAI gets it:
We’re testing ChatGPT's ability to remember things you discuss to make future chats more helpful.
— OpenAI (@OpenAI) February 13, 2024
This feature is being rolled out to a small portion of Free and Plus users, and it's easy to turn on or off. https://t.co/1Tv355oa7V pic.twitter.com/BsFinBSTbs
Super exciting.
But what about the rest of us?
Welp, we built an open source reimplementation of OpenAI's 'memory' features using Honcho to effortlessly organize sessions on a per-user basis
You can derive facts about users, store them, and retrieve for later use. And we're shipping a demo of this implemented with the useful abstractions LangChain provides.
The user context rabbithole goes deep, this is still just the start.
If you're building with or adjacent to Honcho, join our Discord, we'd love to help 🫡.
OpenAI Memories
This week OpenAI announced they're testing memory in ChatGPT. Specifically this means learning about individual users in order to improve their experiences.
It's a limited initial rollout, closed under the hood, and rudimentary, but appears to include functionality for deriving facts about users from conversation history and storing those to augment later generation.
There are features for users to view derived facts (memories), prune them, or turn off the features altogether. User memories are apparently also coming to GPTs.
They're betting, we believe correctly, that the real potential here is a wealth of agents whose behavior is in high-fidelity with user identity.
We're pumped to see experiments like this taking place. But what if you're a developer that doesn't want to subscribe to this kind of platform dependency and all its attendant externalities? What if you're a user who wants independent or open source apps with a more mature version of these UX benefits?
Context is Critical
At Plastic Labs our mission is to enable rich user memory in and across every application. Only then will we really understand just how augmentative and transformative these agents can be. We've been laser focused on this problem.
Right now, the vast majority of software UX is a 1-to-many experience. What you get as a user is, for the most part, the same as everyone else. Mass production unlocked the remarkable ability to produce the exact same goods for every consumer, then software went further allowing a good to be produced once and consumed with consistent experience millions or billions of times. ^0e869d
AI apps can deal generatively with each user on an individual basis, that is, an experience can be produced ad hoc for every user upon every interaction. From 1:many to 1:1 without prohibitive sacrifices in efficiency. But we're still underestimating the full scope of possibility here.
As it stands today the space is mostly focused on the (albeit generative) Machine learning is fixated on task performance. The apps remain more or less stateless with regard to the user. To reach 1:1 nirvana, we need more Honcho; User Context Management for LLM Apps. We need frameworks, mechanisms, services, models dedicated to deep coherence with user identity.
Every agent interaction can be generated just in time for every person, informed by relevant personal context more substantive than human-to-human sessions. User context will enable disposable agents on the fly across verticals for lower marginal cost than 1:many software paradigms.
(Here's our co-founder Vince talking more about some of those possibilities)
"Open vs Closed"
We subscribe heavily to the spirt of arguments Harrison Chase made in "OpenAI's Bet on Cognitive Architecture" just a few months ago:
There’s a great quote from Jeff Bezos that says to only do what makes your beer taste better. This refers to early industrial revolution, when breweries were also making their own electricity. A breweries ability to make good beer doesn’t really depend on how differentiated their electricity was - so those that outsourced electricity generation and focused more on brewing jumped to an advantage.
Is the same true of cognitive architectures? Does having control over your cognitive architecture really make your beer taste better? At the moment, I would argue strongly the answer is yes, for two reasons. First: it’s very difficult to make complex agents actually function. If your application relies on agents working, and getting agents to work is challenging, then almost by definition if you can do that well you’ll have an advantage over your competition. The second reason is that we often see the value of GenAI applications being really closely tied to the performance of the cognitive architecture. A lot of current companies are selling agents for coding, agents for customer support. In those cases, the cognitive architecture IS the product.
That last reason is also the reason that I find it hard to believe that companies would be willing to lock into a cognitive architecture controlled by a single company. I think this is different form of lock-in than cloud or even LLMs. In those cases, you are using cloud resources and LLMs in order to build or power a particular application. But if a cognitive architecture moves closer and closer to being a full application by itself - you’re unlikely to want to have that locked in.
The same applies to social cognition in LLMs and the key to this is leaning about the user and leveraging that knowledge. If proprietary, vertical-specific cognitive architectures make your beer taste better, then personalizing all that tailors the beer to each and every user. If developers will want to control how their app completes a task, then they'll want control over how it completes a task for each user. And users will want this quality of experience.
We've been saying for while now that major walled gardens and their franchises--e.g. OAI's GPTs, Assistants API, and ChatGPT (+Microsoft?); Meta's social apps; Google's workspace suite; etc--will have myriad ecosystem-native agents all with shared access to your user profile.
The problem here is twofold: (1) independent apps are left out in the cold wrt user context and personalization capabilities, and (2) users are left with a privacy situation little better than under web2 business models (or potentially way worse).
Those profiles are gated and proprietary to each climate controlled garden. Step outside and UX plummets. If the independent and open product communities want to compete, they need individual taste bud-mapping superpowers for their beer production.
And users fare little better, presented with yet another set of pre-packaged pseudo-choices about privacy to manage, none of which give them any real control. More paternalism is not the path to individually aligned agents.
Shouldn't we be able to experiment with all this without platform lock-in, allowing projects to collectively leverage user data for positive sum experiences? Shouldn't users own their AI modeled profiles and be able to carry them between independent agents who respect their policies?
Developers will want control over personalization for their application without all the redundant overhead. Users will want a say in how they're being reasoned about and why.
This is our vision for Honcho.
Intellectual Respect
llms are remarkable empaths
— Courtland Leer (@courtlandleer) February 2, 2024
if you’d read that much fiction, you would be too
Today we're releasing a naive adaptation of research we published late last year.
There's a ton we plan to unpack and implement there, but the key insight we're highlighting today is affording LLMs the freedom and autonomy to decide what's important.
(If you want to go deeper into the research, this webinar we did with LangChain is a great place to start, as is the "Violation of Expectations" chain they implemented)
This release allows you to experiment with several ideas. We feed messages into an inference asking the model to derive facts about the user, we store those insights for later use, then we ask the model to retrieve this context to augment some later generation.
Check out our LangChain implementation and Discord bot demo.
Where things get powerful is in the aggregate. What resolves is a highly insightful picture of who your users are and what they need--a key context reservoir to improve the qualitative and quantitative experience.
N.b. you can certainly direct the model with as much verbosity as you like, but we've found during extensive experimentation that Theory of Mind Is All You Need the better and more useful the results.
This isn't surprising when you consider how much content about what people are thinking is contained in a model's pretraining. It's led to some really exciting emergent abilities.
Give the model some trust and respect, and you'll be rewarded.
Let's Build
If you're experimenting with personalization, building with Honcho, or just interested in these ideas, join our Discord, and let's jam on what we can build together.
A healthy open ecosystem will include lots of projects trying lots of new ways to synthesize and leverage user context. We're here to support them all 🥽.
