Commit graph

249 commits

Author SHA1 Message Date
Jacky Zhao
9c88d5967f fix: don't show popovers on heading anchors 2023-12-03 09:22:16 -08:00
Jacky Zhao
82bd08d14a fix: transcludes and relative paths 2023-12-02 16:51:03 -08:00
Jacky Zhao
6a05fa777c fix: bad transform in wikilink pre-transform (closes #598) 2023-11-17 14:00:49 -08:00
Matt Vogel
727b9b5d72
feat: add class alias to aliases (#585) 2023-11-17 10:23:39 -08:00
Zijing Zhang
50f0ba29a2
feat: cname emitter (#590)
* feat: cname emitter

* feat: impl cname.ts

* Update cname.ts

* Update index.ts

* Update cname.ts

* Update cname.ts

* Update cname.ts

* Update cname.ts
2023-11-16 15:31:20 -08:00
Jacky Zhao
a26eb59392 feat: scrub link formatting from toc entries 2023-11-15 20:13:28 -08:00
Jacky Zhao
06426c8f7e feat: support repeated anchor tag (closes #592) 2023-11-15 19:27:54 -08:00
Jacky Zhao
8fc7b9f4c6 feat: deref symlinks when copying static assets (closes #588) 2023-11-15 09:43:30 -08:00
Jacky Zhao
2de48b267a fix: set htmlAst after walking tree in ofm (closes #589) 2023-11-14 20:01:48 -08:00
Jacky Zhao
74777118a7 feat: header and full-page transcludes (closes #557) 2023-11-13 22:51:40 -08:00
Jacky Zhao
bc02791734 fix: .date.getTime() based sort 2023-11-11 20:28:26 -08:00
Jacky Zhao
bf603c49c2 fix: sort rss feed by date 2023-11-11 12:08:54 -08:00
Jacky Zhao
99e8f5944f fix: trailing slash aliases (closes #577) 2023-11-11 09:56:30 -08:00
Jacky Zhao
101e9946bd feat: add collapseByDefault option to TableOfContents (closes #566) 2023-11-04 12:11:42 -07:00
Jacky Zhao
7c01e8dde0 feat: openLinksInNewTab option for link transformer 2023-10-22 09:54:12 -07:00
Jacky Zhao
1e357ef5ac fix(style): prioritize base and custom scss over component css 2023-10-21 21:06:02 -07:00
Jacky Zhao
af9ddadc4d
fix(css): import base from custom instead of the other way around (#536) 2023-10-14 13:45:56 -07:00
bfahrenfort
ab5efac75f
Fix: RSS title escaping (#521)
* Fix title escaping

* npm run format
2023-10-01 09:47:22 -07:00
Hrishikesh Barman
2f99339dcf
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
Ben Schlegel
0b61f6fbfd
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
Jacky Zhao
d22c3c107a fix: coerce title to string 2023-09-25 18:15:55 -07:00
Jacky Zhao
697bffdb8b fix: treat the 0 time as invalid too 2023-09-24 14:47:30 -07:00
Jacky Zhao
13c8673226 feat: add warning for invalid date format 2023-09-22 10:04:50 -07:00
Jacky Zhao
a897cc1f53 feat: add warning for missing home page 2023-09-22 10:04:50 -07:00
Jacky Zhao
6a9e6352e8 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
70e029d151 Revert "docs: wording changes for offline support"
This reverts commit 52a172d1a4.
2023-09-20 13:52:29 -07:00
Jacky Zhao
52a172d1a4 docs: wording changes for offline support 2023-09-20 11:40:36 -07:00
Adam Brangenberg
d6301fae90
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
27a6087dd5
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
Yuto Nagata
422ba5c365
fix: umami analytics date attribute (#477) 2023-09-15 19:17:20 -07:00
Jacky Zhao
cce389c81d
feat: note transclusion (#475)
* basic transclude

* feat: note transclusion
2023-09-13 11:28:53 -07:00
Jacky Zhao
4461748a85 fix dont show html in search when rssFullHtml is true (closes #474) 2023-09-13 09:43:30 -07:00
Jacky Zhao
6ecdcb5e24 feat: resolve block references in obsidian markdown 2023-09-12 22:55:50 -07:00
Jacky Zhao
e3b879741b feat: rich html rss (closes #460) 2023-09-12 21:44:03 -07:00
Jacky Zhao
60a3c54339 fix: 404 page styling for nested pages (closes #458) 2023-09-12 21:29:57 -07:00
Jacky Zhao
71d81bde1d feat: rss limit (closes #459) 2023-09-12 19:18:44 -07:00
hcplantern
a19df64be8
fix: callout parsing (#469) 2023-09-11 23:00:21 -07:00
Oskar Manhart
4e23e67244
feat: plugin for remark-breaks (#467)
* feat: plugin for remark-breaks

* fix: update package-lock.json

* fix: styling

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

* Update linebreaks.ts

* Update index.ts

---------

Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
2023-09-10 23:11:42 -07:00
Jacky Zhao
53f1c88738 fix: more lenient date parsing for templates 2023-09-08 09:29:57 -07:00
Jacky Zhao
2525bfbab5 fix: links to index not showing in graph (closes #450) 2023-09-06 22:24:15 -07:00
Jacky Zhao
828aa71fe3 fix: escape encoding for titles in rss 2023-09-06 21:47:59 -07:00
Jacky Zhao
ef1ead31dc fix: encodeuri for slugs in rss 2023-09-06 21:31:01 -07:00
Jacky Zhao
8d6029b7b8 feat: 404 page emitter 2023-09-06 21:02:21 -07:00
Jacky Zhao
2d52eba413 fix: dont transform external links 2023-09-06 20:25:50 -07:00
Adam Brangenberg
e8a04efaf1
feat(analytics): Support for Umami (#449) 2023-09-03 21:28:57 -07:00
Ben Schlegel
b213ba45e2
fix: regex for matching highlights (closes #437) (#438)
* fix:  regex for matching highlights

* fix: regex for empty highlights
2023-08-31 11:55:04 -07:00
Jacky Zhao
5fa6fc9789 fix: aliasredirects not using full path, add permalink support 2023-08-29 10:37:00 -07:00
Jeffrey Fabian
1cc09ef76d
feat: support kebab-case and nested tags in Obsidian-flavored Markdown tag-in-content parsing (#425)
* enhancement: support kebab-case and nested tags in ofm transformer

* update regex/capture groups to allow for (arbitrarily) nested values and tags of only -/_

* Update quartz/plugins/transformers/ofm.ts

---------

Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
2023-08-29 10:14:54 -07:00
Jeremy Press
082fdf2e80
Fix typo :) (#430) 2023-08-27 20:57:19 -07:00
Jeremy Press
b6b1dabde0
feat: support configurable ws port and remote development (#429)
Co-authored-by: Jeremy Press <jeremy@replit.com>
Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
2023-08-27 17:39:42 -07:00
Jacky Zhao
52ca312f41 fix: slugify tag on page before adding (closes #411) 2023-08-27 12:27:55 -07:00
Hrishikesh Barman
bc543f81d9
feat(plugins): add OxHugoFlavouredMarkdown (#419)
* feat(plugins): add OxHugoFlavouredMarkdown

ox-hugo is an org exporter backend that exports org files to
hugo-compatible markdown in an opinionated way. This plugin adds some
tweaks to the generated markdown to make it compatible with quartz but
the list of changes applied it is not extensive.

In the future however, we could leapfrog ox-hugo altogether and
create a quartz site directly out of org-roam files. That way we won't
have to do all the ritual dancing that this plugin has to perform.
See https://github.com/k2052/org-to-markdown

* fix: add toml to remarkFrontmatter configuration

* docs: add docs for OxHugoFlavouredMarkdown

* fixup! docs: add docs for OxHugoFlavouredMarkdown
2023-08-25 22:52:23 -07:00
Hrishikesh Barman
5c6d1e27ba
feat(plugins): add toml support for frontmatter (#418)
* feat(plugins): add toml support for frontmatter

Currently frontmatter is expected to be yaml, with delimiter set to
"---". This might not always be the case, for example ox-hugo(a hugo
exporter for org-mode files) exports in toml format with the delimiter
set to "+++" by default.

With this change, the users will be able use frontmatter plugin to
support this toml frontmatter format.

Example usage: `Plugin.FrontMatter({delims: "+++", language: 'toml'})`

- [0] https://ox-hugo.scripter.co/doc/org-meta-data-to-hugo-front-matter/

* fixup! feat(plugins): add toml support for frontmatter
2023-08-25 10:25:46 -07:00
Jacky Zhao
c36a9f3fb7 feat: add defaultDateType config 2023-08-24 08:56:40 -07:00
bfahrenfort
8200c8d040
Revert contentIndex to RSS 2.0 (#407) 2023-08-23 22:57:49 -07:00
Jacky Zhao
eed4472aee fix: use proper full base for links.ts 2023-08-23 12:18:50 -07:00
Jacky Zhao
b444c5c13b fix: percent-encoding for files with %, contentIndex for non-latin chars (closes #397, closes #399) 2023-08-22 23:34:28 -07:00
Jacky Zhao
36548d5986 fix: toc for cyrillic and other non-latin alphabets (closes #396) 2023-08-22 22:41:50 -07:00
Jacky Zhao
8b63ff882a fix: tag support for non-latin alphabets (fixes #398) 2023-08-22 22:14:16 -07:00
松浦 知也 Matsuura Tomoya
bb677840fc
fixed broken CJK links (#390) 2023-08-22 09:16:55 -07:00
Jacky Zhao
952d6cb3dd fix: nav event with spa off, anchor nav refresh page 2023-08-20 18:08:44 -07:00
Jacky Zhao
e262482921 fix: string for aliases being treated as array of chars 2023-08-19 21:59:01 -07:00
Jacky Zhao
7b8017413c impl baseDir option for quartz build --serve for local testing 2023-08-19 18:04:17 -07:00
Jacky Zhao
6681f28af0 fix trailing slash causing folder listing to not fetch content correctly 2023-08-19 16:55:36 -07:00
Jacky Zhao
dd47be1bc6 improve path resolution stability 2023-08-19 16:28:44 -07:00
Jacky Zhao
c874e7e937 base path refactor to better support subpath hosting 2023-08-19 15:52:25 -07:00
Jacky Zhao
0c199975f2 various path fixes for links to extensions, fix relative paths in links 2023-08-17 00:55:28 -07:00
Jacky Zhao
2f6747b166 fix relative path resolution in router and link crawling 2023-08-16 22:04:15 -07:00
Jacky Zhao
d6e73f221c fix relative path resolution logic, add more path tests 2023-08-12 21:16:43 -07:00
Jacky Zhao
aed3f5fccb fmt 2023-08-12 10:17:07 -07:00
Jacky Zhao
c55d54f068 enable rich text in callout title 2023-08-12 10:16:55 -07:00
Jacky Zhao
827dd91847 format, make search async 2023-08-12 00:03:11 -07:00
Jacky Zhao
e1dd6aee86 fix wikilinks to anchors in the same document 2023-08-11 23:55:17 -07:00
Jacky Zhao
83269ac26e fix scanning for tags in content 2023-08-11 23:40:06 -07:00
Jacky Zhao
736c3981c4 fix emit filepaths, tag emit being overriden by content 2023-08-11 23:25:44 -07:00
Jacky Zhao
259d0a6d9a more documentation 2023-08-11 00:31:44 -07:00
Jacky Zhao
21cc6a5da9 run prettier 2023-08-10 21:29:11 -07:00
Jacky Zhao
cefbca4753 docs on making plugins 2023-08-10 21:16:07 -07:00
Jacky Zhao
2ac5dd49da fix regression in code block font-size boosting on safari mobile 2023-08-07 21:51:06 -07:00
Jacky Zhao
527ce6546e various css fixes, fix new image loading bug when previewing, path docs 2023-08-07 21:41:18 -07:00
Jacky Zhao
d02af6a8ae architecture, fix vendor prefixing 2023-08-07 17:34:38 -07:00
Jacky Zhao
b4cacd5956 format 2023-08-06 22:07:33 -07:00
Jacky Zhao
cd9dc6ecb5 fix css transforms for mobile 2023-08-06 22:07:08 -07:00
Jacky Zhao
d8d9dd22c9 fix shortest path for non-md files, mobile fix 2023-08-06 20:52:17 -07:00
Jacky Zhao
028bcec62c mobile fixes, fix bug when linking to anchor on home, docs 2023-08-06 17:09:29 -07:00
Jacky Zhao
1da467d214 non-admonition callout fix 2023-08-05 16:43:50 -07:00
Jacky Zhao
c402f0c385 more robust error handling, config hotreload 2023-08-05 11:28:09 -07:00
Jacky Zhao
9e76b257d4 fix mermaid initialization 2023-08-04 22:35:21 -07:00
Jacky Zhao
2acfb9e870 format, add upstream 2023-08-03 23:08:04 -07:00
Jacky Zhao
4877a9c934 fix callout aliases not being used properly 2023-08-03 00:08:13 -07:00
Jacky Zhao
663c41fa41 use posix style paths for all path ops 2023-08-02 23:04:26 -07:00
Jacky Zhao
d7842e0ce7 make path and globbing more platform invariant 2023-08-02 22:10:13 -07:00
Jacky Zhao
a70e846b0a flag to allow ofm replace in html embed 2023-08-01 22:47:16 -07:00
Jacky Zhao
cc79502670 make layouts simpler to think about 2023-07-25 23:37:24 -07:00
Jacky Zhao
cee2883c08 nested tag support and tag index page 2023-07-25 21:10:37 -07:00
Jacky Zhao
c0278a8c65 font loading options, optimize css 2023-07-24 21:54:47 -07:00
Jacky Zhao
e82ba97a39 actually add processed tag to frontmatter 2023-07-24 00:07:58 -07:00
Jacky Zhao
041a4ce7bc fix watch-mode batching 2023-07-24 00:04:01 -07:00
Jacky Zhao
351b4ab13b styling fixes for stacking order and overflow 2023-07-23 21:41:09 -07:00
Jacky Zhao
4811500b1b make component resources a proper emitter 2023-07-23 18:20:43 -07:00
Jacky Zhao
8fd75ffbfd support attachments folder 2023-07-23 17:42:00 -07:00
Jacky Zhao
55a1fb8c41 format 2023-07-23 17:09:12 -07:00
Jacky Zhao
9e83af04a7 refactor static and asset emission to be actual emitter plugins 2023-07-23 17:07:19 -07:00
Jacky Zhao
000eb4c3c0 update feature list 2023-07-23 15:37:06 -07:00
Jacky Zhao
5599eb590e feat: process tags in content 2023-07-23 14:02:57 -07:00
Jacky Zhao
7db2eda76c run prettier 2023-07-22 17:27:41 -07:00
Jacky Zhao
01d7d8e554 fix tag pages to emit to tag/index.html to override content and folder pages 2023-07-19 23:03:59 -07:00
Jacky Zhao
8e0ba45789 add link resolution prompt to quartz create 2023-07-16 10:39:35 -07:00
Jacky Zhao
3ac6b42e16 finish path refactoring, add sourcemap + better trace support 2023-07-15 23:02:12 -07:00
Jacky Zhao
906f91f8ee base path refactor, more docs 2023-07-13 00:19:35 -07:00
Jacky Zhao
08f8e3b4a4 docs + various polish 2023-07-09 19:32:24 -07:00
Jacky Zhao
b90590b9f4 polish 2023-07-08 14:36:02 -07:00
Jacky Zhao
9cbacca2d4 handle dates as tags 2023-07-06 18:45:38 -07:00
Jacky Zhao
05d1ca01c3 handle string tags 2023-07-06 18:32:48 -07:00
Jacky Zhao
f7bf4038dc fix path parsing 2023-07-06 16:56:30 -07:00
Jacky Zhao
974b0da308 folder and tag descriptions, re-enable relative pathing 2023-07-04 18:02:59 -07:00
Jacky Zhao
ab9da02c60 fix indexing causing main thread freeze, various polish 2023-07-04 10:08:32 -07:00
Jacky Zhao
e0ebee5aa9 various polish 2023-07-02 13:08:29 -07:00
Jacky Zhao
4c904d88ab rss + sitemap 2023-07-01 13:35:27 -07:00
Jacky Zhao
ba9f243728 tag and folder pages 2023-07-01 00:03:01 -07:00
Jacky Zhao
24348b24a9 fix: parsing wikilinks that have codeblock anchors, scroll to anchor 2023-06-19 22:50:25 -07:00
Jacky Zhao
fd5c8d17d3 basic search implementation 2023-06-19 20:37:45 -07:00
Jacky Zhao
c4cf0dcb02 local and global graph 2023-06-18 10:47:07 -07:00
Jacky Zhao
8bfee04c8c popovers 2023-06-17 16:05:46 -07:00
Jacky Zhao
cb89cce183 basic left,right layout 2023-06-17 14:36:06 -07:00
Jacky Zhao
b587782450 collapsible callout 2023-06-17 13:08:06 -07:00
Jacky Zhao
6d5491fdcb collapsible toc 2023-06-17 12:07:40 -07:00
Jacky Zhao
917d5791ac modern toc tweaks 2023-06-16 19:41:59 -07:00
Jacky Zhao
9d2024b11c taglist, mermaid 2023-06-12 22:41:42 -07:00
Jacky Zhao
2bfe90b7e6 add config to components 2023-06-11 23:46:38 -07:00
Jacky Zhao
352075ae81 refactor plugins to be functions instead of classes 2023-06-11 23:26:43 -07:00
Jacky Zhao
b8c011410d toc 2023-06-09 23:06:02 -07:00
Jacky Zhao
3a29f4c86e add custom spa solution 2023-06-09 19:58:58 -07:00
Jacky Zhao
59109a8c1d add flamethrower router 2023-06-07 22:38:45 -07:00
Jacky Zhao
317cce9314 generic quartz component for layout 2023-06-07 22:27:32 -07:00
Jacky Zhao
1cb4dadf13 codeblock copy 2023-06-06 21:19:00 -07:00
Jacky Zhao
0813f127a3 fix darkmode script load 2023-06-06 20:58:26 -07:00
Jacky Zhao
4d3579ca98 darkmode scripts 2023-06-06 19:48:37 -07:00
Jacky Zhao
89e0311a98 embeds 2023-06-06 00:00:38 -07:00
Jacky Zhao
700036e84c callouts 2023-06-05 22:14:17 -07:00
Jacky Zhao
9ad89997a5 multi-core builds 2023-06-04 12:35:45 -04:00
Jacky Zhao
4bdc17d4a1 inline scripts 2023-06-03 15:07:19 -04:00
Jacky Zhao
fcd81353f8 heading linking 2023-06-01 19:48:38 -04:00
Jacky Zhao
04eeb2d10c syntax higlighting 2023-06-01 19:05:14 -04:00
Jacky Zhao
42d3a7de17 scss support 2023-06-01 17:35:31 -04:00
Jacky Zhao
c1c46ad67e obsidian flavored markdown support 2023-06-01 12:33:20 -04:00
Jacky Zhao
3636c052eb link processing 2023-05-31 17:41:44 -04:00
Jacky Zhao
21c007e2fc rendering, link resolution, asset copying 2023-05-31 17:01:23 -04:00
Jacky Zhao
ad6ce0d73f plugin integration round 2 2023-05-30 08:02:20 -07:00