* feat: add a config option for a pageTitleSuffix
* Run Prettier on Head.tsx
* Make pageTitleSuffix optional
Co-authored-by: Aaron Pham <Aaronpham0103@gmail.com>
---------
Co-authored-by: Aaron Pham <Aaronpham0103@gmail.com>
* Responsive design grid
* Addressed PR feedback
* Bump Quartz version 4.3.1 => 4.4.0
* Moved page-header into center
* Updated docs with new layouts
* Sync updated version number with package-lock
* Table of Content scrollbar auto
* Reset node_modules
* Updated layout images
* Fixed tablet layout
* Finilazed layout images
* FIX: Reload graph after a theme change
* FIX: Reload graph after a theme change - comment updated
* FIX: Reload graph after a theme change - comment updated
* FIX: Reload graph after a theme change
* fix: Reload graph after a theme change
* Use a `<button>` for theme toggle
* docs: Adds back Xinyang's cs garden to showcase (#1323)
adding back my garden which was deleted from the cleanup showcase
* feat(toc,explorer): add accessibility for toggle (#1327)
* Restore focus highlight on explorer toggle button.
Remove `unset: all` declaration causing `outline`
property to be unset. This allows the default
browser focus highlight to be shown.
* Fix semantics of expandable sections (explorer, toc).
This adds the appropriate aria attributes for the [disclosure pattern](https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/examples/disclosure-image-description/#javascriptandcsssourcecode) and uses `visibility: hidden` to remove the hidden elements from the focus order without disrupting the animations. Further work is needed on the tree view nodes.
* Run prettier for SCSS files.
* feat: custom global latex macros (closes#1325)
* chore: ts fixes
* docs: recommend at least node 20 in gh
* fix: unmemoize explorer on rebuild (closes#1077)
* fix: pass buildId to worker
* Fix theme button DOM hierarchy and styles
* Restore functionality of theme button
* `aria-label` on theme svgs so their accessible labels are included in button content
---------
Co-authored-by: Xinyang Yu <47915643+xy-241@users.noreply.github.com>
Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
* Add a wrapper span to dates in PageList.
This means there is a placeholder when date is not specified, so the values in grid-template-columns always line up correctly.
* Use a <div> instead -- better practice to stick to block elements.
* Use a `<button>` for search
* Fix search button styles to match preexisting styling
* Remove additional native button properties.
* Invoke search button on click or keyboard.
* Reorganize search button DOM hierarchy
* Restore focus to the search button when exiting the search overlay
* Run prettier on Search.tsx
* Restore focus highlight on explorer toggle button.
Remove `unset: all` declaration causing `outline`
property to be unset. This allows the default
browser focus highlight to be shown.
* Fix semantics of expandable sections (explorer, toc).
This adds the appropriate aria attributes for the [disclosure pattern](https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/examples/disclosure-image-description/#javascriptandcsssourcecode) and uses `visibility: hidden` to remove the hidden elements from the focus order without disrupting the animations. Further work is needed on the tree view nodes.
* Run prettier for SCSS files.
- [Major] Changed `hash` passed to `querySelector` to `decodeURIComponent(hash)` to fix the issue where non-English anchors were not correctly positioning the popover content to the corresponding title.
- [Minor] Updated the type hint from `HTMLLinkElement` to `HTMLAnchorElement` as the passed element is an `<a>` element, not a `<link>` element (reference: https://developer.mozilla.org/en-US/docs/Web/API/HTMLLinkElement).
simplifies slug from FullSlug to SimpleSlug before storing it in the visited pages list in memory
this leads to "index" page and "folder/index", "tags/tag/index" being stored a "/", "folder/" and "tags/tag/" respectively in the list of visited pages.
this ensures that the homepage is rightfully coloured as a visited page in the "color" function of the graph
* Tags appear as hollow circles on the graph
Added a few lines to make tags appear as hollow circles on the graph, as opposed to pages which are plain circles, for better visual separation.
* Applied Prettier code style
* 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
* Add homepage link with internationalization
* Construct pathname from baseUrl config value
* More robust URL manipulation
* Add Farsi (#1133)
* Fix bad rebase
* 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>
* feat(search): add search by title/content index and tag at the same time
* fix(search): set search type to basic and remove tag from term for proper highlightning and scroll when searched by tag and title/content index
* fix(search): use indexOf to find space so it is easier to read
* fix(search): trim trailing whitespaces before splitting
* fix(search): set limit to 10000 for combined search mode (to make filter by tag more accurate)
* 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>
I really don't know why I translated this like that into "pas trouvé", and it bugged me a lot. I finally fixed it…
Signed-off-by: Mara-Li <lili.simonetti@outlook.fr>
* Stop mutating resources param in ComponentResources emitter
* Add done rebuilding log for fast rebuilds
* Move google font loading to Head component
* Simplify code and fix comment
* 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 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
* 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(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: 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
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): 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>