Commit Graph

740 Commits

Author SHA1 Message Date
Jacky Zhao
61a45e25de feat: docker support for v4 (closes #530) 2023-10-08 09:59:18 -07:00
Jacky Zhao
38db1fd55d fix: ctrl+click with spa enabled 2023-10-08 09:15:06 -07:00
Jacky Zhao
6c8e7e5bb0 css: make article relative 2023-10-05 13:48:52 -07:00
Jacky Zhao
0d500da752 style: styling for codeblocks without langs (#527) 2023-10-05 13:30:06 -07:00
Ben Schlegel
99deff9a6e fix(breadcrumbs): problem with folder whitespace (#522)
* fix(breadcrumbs): problem with folder whitespace

use slugs for folder hrefs so folder paths get resolved properly

* feat: only use `slug` for constructing crumbs

* fix: remove capitalization
2023-10-05 09:19:56 -07:00
Jacky Zhao
282acb6bb8 specify minimum npm version 2023-10-04 09:23:56 -07:00
Luca Salvarani
08ee858830 fix: Fix Backlinks not applying the display class (#519)
* fix: Fix `Backlinks` not applying the display class

Fix #518

* fix: Apply `displayClass` to all layout components

* refactor: Use same style

* fix: Remove `undefined` class using coalescing operator
2023-10-01 17:20:55 -07:00
bfahrenfort
8c1c1c78d7 Fix: RSS title escaping (#521)
* Fix title escaping

* npm run format
2023-10-01 09:47:22 -07:00
Hrishikesh Barman
b38d9322b1 feat: add transformations for latex in oxhugofm (#510)
ox-hugo currently supports the following syntax for latex equations:
- https://orgmode.org/manual/LaTeX-fragments.html
- https://ox-hugo.scripter.co/doc/equations

This syntax is supported by mathjax as is mentioned in the ox-hugo documentation.

But quartz uses remark-math which has some issues with the \( \) syntax.
See https://github.com/remarkjs/remark-math/issues/39

This change adds few more transformations to the OxHugoFlavouredMarkdown
plugin, which makes a best effort conversion of this syntax into what
the Quartz Latex transformer plugin supports.

With these changes, the generated files show latex formatting with
default quartz configuration.

Sidenote on `\_` escape by ox-hugo:

ox-hugo escapes, _ using \_, we match against it after we transform
equations into what quartz supports($$ and $).

This could be achieved using lookaround like regex as follows
```js
(?<=(\$|\$\$)[\s\S]*) -> Positive lookbehind for $ or $$
\\_ -> Matches \_
(?=[\s\S]*(?:\1)) Positive lookahead for $ or $$ if matched
const escapedUnderscoreRegex = new RegExp(/(?<=(\$|\$\$)[\s\S]*)\\_(?=[\s\S]*(?:\1))/, "g")
````

But since lookahead/behind can slow things down on large files, we just
look up all equations with $ and $$ delimiters and then try replacing \_
2023-09-29 11:35:26 -07:00
ArtfulAzeria
22b559b31b feat: Better and more responsive tag behavior (#515)
* fix(explorer): default sortFn implementation (#511)

* fix: use `numeric` + `base` for localeCompare

* docs(explorer): update default sortFn

* fix: better and more responsive tag behavior

* tags css moved to TagList.tsx

* used npm run format

* merged tag declarations

---------

Co-authored-by: Ben Schlegel <31989404+benschlegel@users.noreply.github.com>
2023-09-29 11:17:48 -07:00
Catchears
e4e54f52d5 docs: fix typo in breadcrumbs documentation (#513) 2023-09-29 08:19:10 -07:00
Ben Schlegel
12664ae596 feat: implement breadcrumb component (#508)
* feat: implement breadcrumbs

* style: fix styling, move breadcrumbs to top

* refactor: move `capitalize to `lang.ts``

* refactor: clean breadcrumb generation

* feat: add options to breadcrumbs

* feat: implement `resolveFrontmatterTitle`

* feat: add `hideOnRoot` option

* feat(consistency): capitalize every crumb

* style: add `flex-wrap` to parent container

* refactor: clean `Breadcrumbs.tsx`

* feat(accessibility): use `nav`, add aria label

* style: improve look in popovers by adding margin

* docs: write docs for breadcrumb component

* refactor: collapse `if` condition for hideOnRoot

* chore: add todo for perf optimization

* docs: update introduction
2023-09-29 10:26:15 +02:00
Ben Schlegel
482b7f4439 fix(explorer): default sortFn implementation (#511)
* fix: use `numeric` + `base` for localeCompare

* docs(explorer): update default sortFn
2023-09-28 08:39:44 -07:00
Jacky Zhao
37d59b994e fix: coerce title to string 2023-09-25 18:15:55 -07:00
Jacky Zhao
2443791d33 fix: treat the 0 time as invalid too 2023-09-24 14:47:30 -07:00
Jacky Zhao
242b37034e fix: mermaid copy source position 2023-09-24 10:31:54 -07:00
Chad Lee
44b8f446ef add site to showcase (#504) 2023-09-24 10:27:42 -07:00
Vince Imbat
cb7b7c3869 docs: Adds Vince Imbat to showcase (#501) 2023-09-22 19:39:02 -07:00
Jacky Zhao
5f0a7a5d35 feat: add warning for invalid date format 2023-09-22 10:04:50 -07:00
Jacky Zhao
3c8cff48a3 feat: add warning for missing home page 2023-09-22 10:04:50 -07:00
Ben Schlegel
d23c80cfad docs(showcase): fix pull request redirect link (#500) 2023-09-22 08:20:19 -07:00
Ben Schlegel
e3de59f265 fix(explorer): increase consistency, explicitly use font-family (#496)
* fix(explorer): display name for folders without `index` file

* docs(explorer): add section for folder display names

* docs(explorer): fix broken wikilink

* fix(consistency): explicitly set font + label/link fix

Use consistent styling between folders with `folderClickBehavior: "link"` and `"collapse`

* Update quartz/components/styles/explorer.scss

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

* Update quartz/components/styles/explorer.scss

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

---------

Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
2023-09-21 19:35:11 +02:00
Ben Schlegel
476ae69e9d fix(explorer): display names for folders without frontmatter (#494)
* fix(explorer): display name for folders without `index` file

* docs(explorer): add section for folder display names
2023-09-21 18:54:33 +02:00
Ben Schlegel
f1fdbd3452 docs(explorer): update default config + new example (#493) 2023-09-21 18:53:19 +02:00
Jacky Zhao
42cb4efb33 perf: memoize filetree computation (#490)
* perf: memoize filetree computation

* format

* var -> let
2023-09-20 16:09:18 -07:00
Jacky Zhao
96abbf63d3 feat: display name for folders, expand explorer a little bit (#489)
* feat: display name for folders, expand explorer a little bit

* update docs
2023-09-20 16:08:54 -07:00
Ben Schlegel
31d6601a0d feat(explorer): improve accessibility and consistency (+ bug fix) (#488)
* feat(consistency): use `all: unset` on button

* style: improve accessibility and consistency for explorer

* fix: localStorage bug with folder name changes

* chore: bump quartz version
2023-09-20 13:55:29 -07:00
Jacky Zhao
9738b95e1b Revert "feat: Making Quartz available offline by making it a PWA (#465)"
This reverts commit d6301fae90.
2023-09-20 13:52:45 -07:00
Jacky Zhao
7652bdff7e Revert "docs: wording changes for offline support"
This reverts commit 52a172d1a4.
2023-09-20 13:52:29 -07:00
Jacky Zhao
186ca72a9f docs: document enableToc 2023-09-20 11:58:52 -07:00
Jacky Zhao
2a552cd92b docs: wording changes for offline support 2023-09-20 11:40:36 -07:00
Adam Brangenberg
9c322802fa feat: Making Quartz available offline by making it a PWA (#465)
* Adding PWA and chaching for offline aviability

* renamed workbox config to fit Quartz' scheme

* Documenting new configuration

* Added missig umami documentation

* Fixed formatting so the build passes, thank you prettier :)

* specified caching strategies to improve performance

* formatting...

* fixing "404 manifest.json not found" on subdirectories by adding a / to manifestpath

* turning it into a plugin

* Removed Workbox-cli and updated @types/node

* Added Serviceworkercode to offline.ts

* formatting

* Removing workbox from docs

* applied suggestions

* Removed path.join for sw path

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

* Removed path.join for manifest path

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

* Removing path module import

* Added absolute path to manifests start_url and manifest "import" using baseUrl

* Adding protocol to baseurl

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

* Adding protocol to start_url too then

* formatting...

* Adding fallback page

* Documenting offline plugin

* formatting...

* merge suggestion

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

* merge suggestion

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

* merge suggestion

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

* merge suggestion

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

* merge suggestion

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

* merge suggestion

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

* merge suggestion

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

* merge suggestion

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

* merge suggestion

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

* merge suggestion

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

* merge suggestion

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

* merge suggestion

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

* formatting...

* Fixing manifest path, all these nits hiding the actual issues .-.

* Offline fallback page through plugins, most things taken from 404 Plugin

* adding Offline Plugin to config

* formatting...

* Turned offline off as default and removed offline.md

---------

Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
2023-09-20 11:38:13 -07:00
rwutscher
ae57715822 fix: tag regex no longer includes purely numerical 'tags' (#485)
* fix: tag regex no longer includes purely numerical 'tags'

* fix: formatting

* fix: use guard in findAndReplace() instead of expanding the regex
2023-09-19 12:26:30 -07:00
Jacky Zhao
aa4f788123 fix(nit): make defaultOptions on explorer not a function 2023-09-19 10:22:39 -07:00
David Fischer
ee0c958b72 feat: support changes in system theme (#484)
* feat: support changes in system theme

* fix: run prettier

* fix: add content/.gitkeep
2023-09-19 09:25:51 -07:00
Ben Schlegel
1a572d77ef docs: fix explorer example (#483) 2023-09-18 14:32:00 -07:00
Ben Schlegel
f030418822 fix: bad visibility for last explorer item (#478)
* fix: bad visibility for last explorer item

* feat(explorer): add pseudo element for observer
2023-09-17 22:04:44 +02:00
Ben Schlegel
a9cdd5ff27 Merge pull request #479 from benschlegel/explorer-config
feat(explorer): add config for custom sort/map/filter functions
2023-09-17 21:36:04 +02:00
Ben Schlegel
a1f2551c16 docs: fix examples 2023-09-17 21:32:23 +02:00
Ben Schlegel
b672a4c827 docs: fix intra page links 2023-09-17 21:20:09 +02:00
Christian Gill
e173414d12 fix(slug): Handle question mark (#481) 2023-09-17 11:02:00 -07:00
Ben Schlegel
d889775951 fix: darkmode scroll bars (#480) 2023-09-17 10:29:20 -07:00
Ben Schlegel
27f99713d8 docs(explorer): write docs for new features 2023-09-17 16:41:23 +02:00
Ben Schlegel
c2ac5dcfd0 fix(explorer): filter function in ExplorerNode 2023-09-17 15:51:08 +02:00
Ben Schlegel
b8fbb64cad fix: display name for file nodes 2023-09-17 12:41:06 +02:00
Ben Schlegel
e3306cc475 feat: black magic
add config for `order` array, which determines the order in which all passed config functions for explorer will get executed in.

functions will now dynamically be called on `fileTree` via array accessor (e.g. fileTree["sort"].call(...)) with corresponding function from options being passed to call)
2023-09-16 21:58:38 +02:00
Ben Schlegel
e112fdad2b fix: create deep copy of file passed into tree 2023-09-16 19:45:21 +02:00
Ben Schlegel
0ed17307cf feat(explorer): implement map fn argument
Add a function for mapping over all FileNodes as an option for `Explorer`
2023-09-16 19:35:27 +02:00
Ben Schlegel
4ba45f9577 feat(explorer): integrate filter option 2023-09-16 19:18:59 +02:00
Ben Schlegel
9ad51c46d0 fix: use correct import for QuartzPluginData 2023-09-16 17:47:44 +02:00