Commit Graph

288 Commits

Author SHA1 Message Date
Ben Schlegel c7d3474ba8
feat(explorer): add config to support custom sort fn 2023-09-16 12:40:19 +02:00
Yuto Nagata 422ba5c365
fix: umami analytics date attribute (#477) 2023-09-15 19:17:20 -07:00
Ben Schlegel 91f9ae2d71
feat: implement file explorer component (closes #201) (#452)
* feat: add basic explorer structure„

* feat: integrate new component/plugin

* feat: add basic explorer structure

* feat: add sort to FileNodes

* style: improve style for explorer

* refactor: remove unused explorer plugin

* refactor: clean explorer structure, fix base (toc)

* refactor: clean css, respect displayClass

* style: add styling to chevron

* refactor: clean up debug statements

* refactor: remove unused import

* fix: clicking folder icon sometimes turns invisible

* refactor: clean css

* feat(explorer): add config for title

* feat: add config for folder click behavior

* fix: `no-pointer` not being set for all elements

new approach, have one `no-pointer` class, that removes pointer events and one `clickable` class on the svg and button (everything that can normally be clicked). then, find all children with `clickable` and toggle `no-pointer`

* fix: bug where nested folders got incorrect height

this fixes the bug where nested folders weren't calculating their total height correctly. done by adding class to main container of all children and calculating total

* feat: introduce `folderDefaultState` config

* feat: store depth for explorer nodes

* feat: implement option for collapsed state + bug fixes

folderBehavior: "link" still has bad styling, but major bugs with pointers fixed (not clean yet, but working)

* fix: default folder icon rotation

* fix: hitbox problem with folder links, fix style

* fix: redirect url for nested folders

* fix: inconsistent behavior with 'collapseFolders' opt

* chore: add comments to `ExplorerNode`

* feat: save explorer state to local storage (not clean)

* feat: rework `getFolders()`, fix localstorage read + write

* feat: set folder state from localStorage

needs serious refactoring but functional (except folder icon orientation)

* fix: folder icon orientation after local storage

* feat: add config for `useSavedState`

* refactor: clean `explorer.inline.ts`

remove unused functions, comments, unused code, add types to EventHandler

* refactor: clean explorer

merge `isSvg` paths, remove console logs

* refactor: add documentation, remove unused funcs

* feat: rework folder collapse logic

use grids instead of jank scuffed solution with calculating total heights

* refactor: remove depth arg from insert

* feat: restore collapse functionality to clicks

allow folder icon + folder label to collapse folders again

* refactor: remove `pointer-event` jank

* feat: improve svg viewbox + remove unused props

* feat: use css selector to toggle icon

rework folder icon to work purely with css instead of JS manipulation

* refactor: remove unused cfg

* feat: move TOC to right sidebar

* refactor: clean css

* style: fix overflow + overflow margin

* fix: use `resolveRelative` to resolve file paths

* fix: `defaultFolderState` config option

* refactor: rename import, rename `folderLi` + ul

* fix: use `QuartzPluginData` type

* docs: add explorer documentation
2023-09-15 09:39:16 -07:00
Corey 31fd0f89d9 updated terms, fixed font and color 2023-09-14 09:53:06 -04:00
Oskar Manhart 14cbbdb8a2
feat: display tag in graph view (#466)
* feat: tags in graph view

* fix: revert changing graph forces

* fix: run prettier
2023-09-13 20:55:59 -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
Corey 6636d07473 removed old quartz files, dark background 2023-09-08 15:20:23 -04: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
Corey a95e827dab changed static images to Logos 2023-09-04 14:07:25 -04:00
Adam Brangenberg e8a04efaf1
feat(analytics): Support for Umami (#449) 2023-09-03 21:28:57 -07:00
Ben Schlegel 7e42be8e46
feat(search): add arrow key navigation (#442)
* feat(search): add arrow navigation

* chore: format

* refactor: simplify arrow navigation

* chore: remove comment

* feat: rework arrow navigation to work without state

* feat: make pressing enter work with arrow navigation

* fix: remove unused css class

* chore: correct comment

* refactor(search): use optional chaining
2023-09-03 09:32:46 -07:00
Ben Schlegel 8c354f6261
fix: clipboard button visible in search (#445) 2023-09-03 09:06:05 -07:00
Jacky Zhao 505673acd7 feat: pluralize things in lists 2023-09-02 18:07:26 -07:00
Ben Schlegel 23f43045c4
fix(search): matches getting highlighted in title (#440) 2023-09-01 14:12:32 -07:00
Ben Schlegel 90dac31216
feat: Implement search for tags (#436)
* Quartz sync: Aug 29, 2023, 10:17 PM

* style: add basic style to tags in search

* feat: add SearchType + tags to search preview

* feat: support multiple matches

* style(search): add style to matching tags

* feat(search): add content to preview for tag search

* fix: only display tags on tag search

* feat: support basic + tag search

* refactor: extract common `fillDocument`, format

* feat: add hotkey to search for tags

* chore: remove logs

* fix: dont render empty `<ul>` if tags not present

* fix(search-tag): make case insensitive

* refactor: clean `hideSearch` and `showSearch`

* feat: trim content similar to `description.ts`

* fix(search-tag): hotkey for windows

* perf: re-use main index for tag search
2023-09-01 10:09:58 -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
Ben Schlegel c35cd422c6
fix: correct graph labels for `index.md` nodes (#431) 2023-08-28 10:00:49 -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
Ben Schlegel 4b89202f7e
cleanup: rework cli to allow invoking create and build outside of cli (#428)
* refactor: move `bootstrap-cli.mjs` tp cli

also update reference in docs

* refactor(cli): move build handler to `cli-functions`

* refactor(cli): move create to handler + helpers

* refactor(cli): extract arg definitions

* refactor: rename handlers and helpers

* refactor(cli): move update, await handlers

* refactor(cli): create constants, migrate to helpers

* refactor(cli): migrate `restore`

* refactor(cli): migrate `sync`

* format

* refactor(cli): remove old imports/functions

* refactor(cli): remove unused imports + format

* chore: remove old log statement

* fix: fix imports, clean duplicate code

* fix: relative import

* fix: simplified cacheFile path

* fix: update cacheFile import path

* refactor: move bootstrap-cli to quartz

* format

* revert: revert path to bootstrap-cli

* ci: re-run

* ci: fix  execution permission
2023-08-27 15:59:51 -07:00
Jacky Zhao 52ca312f41 fix: slugify tag on page before adding (closes #411) 2023-08-27 12:27:55 -07:00
Ben Schlegel c91e62c376
Fix search bar after navigate (#424) 2023-08-26 17:19:45 -07:00
Ben Schlegel ad4145fb10
feat: support CLI arguments for `npx quartz create` (#421)
* feat(cli): add new args for content + link resolve

* feat(cli): validate cmd args

* feat(cli): add chalk + error code to errors

* feat(cli): support for setup/link via args

* refactor(cli): use yargs choices instead of manual

Scrap manual check if arguments are valid, use yargs "choices" field instead.

* feat(cli): add in-dir argument+ handle errors

add new "in-directory" argument, used if "setup" is "copy" or "symlink" to determine source. add error handling for invalid permutations of arguments or non existent path

* feat(cli): dynamically use cli or provided args

use "in-directory" arg as `originalFolder` if available, otherwise get it from manual cli process

* run format

* fix: use process.exit instead of return

* refactor: split CommonArgv and CreateArgv

* refactor(cli): rename create args, use ${} syntax

* fix(cli): fix link resolution strategy arg

* format

* feat(consistency): allow partial cmd args
2023-08-26 13:21:44 -07:00
Jacky Zhao 74c3ebb7bd style: fix mulitline callout styling 2023-08-26 10:48:34 -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 953ef29f4e format, ensure ci runs on prs 2023-08-24 12:31:15 -07:00
Ben Schlegel 94ce0883e7
style: integrate tertiary color to text-select (#413) 2023-08-24 12:28:06 -07:00
Zero King 8cf7280614
feat: reproducible build (#412)
for sitemap, RSS and contentIndex.json.
2023-08-24 11:41:20 -07:00
Jacky Zhao c8412a5b0a format 2023-08-24 10:03:14 -07:00
Jacky Zhao fc4b8f3d3f fix: ensure recentnotes uses proper date 2023-08-24 09:38:00 -07:00
Jacky Zhao 6cd0612d40 fix: add better warning when defaultDateType is not set due to upgrade 2023-08-24 09:17:43 -07:00
Jacky Zhao c36a9f3fb7 feat: add defaultDateType config 2023-08-24 08:56:40 -07:00
Jacky Zhao 98d82415dc fix: lock to never read when site is building 2023-08-24 08:31:12 -07:00
bfahrenfort 8200c8d040
Revert contentIndex to RSS 2.0 (#407) 2023-08-23 22:57:49 -07:00
Jacky Zhao 2e0e518f5d format 2023-08-23 15:16:04 -07:00
Zane Helton 632c27b7ec
docs: update `hosting.md` with Vercel hosting instructions (#406)
* Update hosting.md with Vercel hosting instructions

* Update docs/hosting.md

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

* Update docs/hosting.md

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

* Run npm run format

---------

Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
2023-08-23 15:14:23 -07:00
Jacky Zhao bfb416b35a fix: text wrap in popover 2023-08-23 13:10:23 -07:00
Jacky Zhao eed4472aee fix: use proper full base for links.ts 2023-08-23 12:18:50 -07:00
kanpov 0aaf88b852
Fix #403 by moving documentation to separate directory to avoid merge conflicts (#405) 2023-08-23 12:09:04 -07:00
Jacky Zhao a1a1e7e1e0 fix: builds should no accumulate on repeated changes (closes #404) 2023-08-23 11:36:34 -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 99dbe525d9 fix: properly lock across source and content refresh by sharing a mutex 2023-08-22 22:27:41 -07:00
Jacky Zhao 8b63ff882a fix: tag support for non-latin alphabets (fixes #398) 2023-08-22 22:14:16 -07:00
Jacky Zhao b991cf2ee8 fix: spa hijacks back button (closes #400) 2023-08-22 21:30:31 -07:00
Corey fdd7d4e204 update head.tsx for Logos 2023-08-22 14:58:10 -04:00
松浦 知也 Matsuura Tomoya bb677840fc
fixed broken CJK links (#390) 2023-08-22 09:16:55 -07:00
Ikko Eltociear Ashimine c60b3d5e34
fix: typo in bootstrap-cli.mjs (#394) 2023-08-22 09:16:21 -07:00
Corey ae08f6bc13
setup v4
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-08-22 11:07:40 +02:00
Jacky Zhao e10de3febf fix: server-handler crash from filename (closes #386) 2023-08-21 17:01:18 -07:00
Jacky Zhao b69556c918 fix: async-mutex not exclusively locking correectly 2023-08-21 16:43:32 -07:00
Jacky Zhao ce70571072 docs: use canonical quartz.jzhao.xyz, update bootstrap script to point to correct hosting link 2023-08-21 09:15:01 -07:00
Jacky Zhao 8c943f47d6 format, update default sidepanel width 2023-08-21 09:00:13 -07:00
松浦 知也 Matsuura Tomoya 2774e976d2
fix: opts being overriden in graph option (#384) 2023-08-21 08:45:47 -07:00
Jacky Zhao 777ff51c7a format 2023-08-20 20:48:35 -07:00
Jacky Zhao 4e42d52e16 fix: ctrl + k breaking after page nav 2023-08-20 20:47:07 -07:00
Jacky Zhao d0f67d9935 move wss server start after http 2023-08-20 18:41:37 -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 173ec240d2 fix: jump to anchor on deployed site triggering spa refresh 2023-08-20 17:50:56 -07:00
Jacky Zhao 425c9789a4 remove checkout step from instructions as v4 is the default branch 2023-08-20 16:59:25 -07:00
Jacky Zhao 7b7064ad2b fix: ensure code exists inside pre before adding clipboard 2023-08-20 15:38:37 -07:00
Jacky Zhao ca17af4ae2 fix: dont show index page for folder in its own listing 2023-08-20 15:02:24 -07:00
Jacky Zhao e65ea48fae fix: add async-mutex to builds on large vaults 2023-08-20 14:27:44 -07:00
Jacky Zhao b99d4cd8ce recent notes css fixes 2023-08-20 14:05:37 -07:00
Jacky Zhao 236130ac22 css fixes, add recent notes, more robust quartz update 2023-08-20 12:46:37 -07:00
Jacky Zhao 9d77edaf94 fix description not being used in folder and tag listings 2023-08-20 01:08:18 -07:00
Jacky Zhao cfb7d1232e docs: update notes for tag and folder listings 2023-08-20 00:52:49 -07:00
Jacky Zhao 96a3bfeafb fix: put quotations around font 2023-08-19 22:04:29 -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 eb4d3dc5b4 css: fix scrollbars on windows 2023-08-19 21:55:09 -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 78f4cdbe10 avoid 404 on icon for spa navigations with anchors 2023-08-19 16:40:02 -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 3201f83b70 v4-alpha -> v4 2023-08-18 18:24:09 -07:00
Jacky Zhao 8bc7a50dfa format 2023-08-17 21:54:42 -07:00
Jacky Zhao 569beb410b ensure sync includes untracked files 2023-08-17 21:49:58 -07:00
Jacky Zhao 5713d30670 ensure contentfolder is passed to popContentFolder 2023-08-17 21:24:41 -07:00
Jacky Zhao a130945443 fix when symlink targ is calculated and added npx quartz restore 2023-08-17 21:20:15 -07:00
Jacky Zhao e10f6da011 format 2023-08-17 21:08:26 -07:00
Jacky Zhao a7cca3242a deref symlink on quartz sync 2023-08-17 21:07:40 -07:00
Jacky Zhao 0998bc355e fix rebuild debouncing 2023-08-17 01:58:11 -07:00
Jacky Zhao 07a327e05a fix back button in spa not working between two pages that both have hash fragments 2023-08-17 01:34:50 -07:00
Jacky Zhao 58d9dc0528 format 2023-08-17 00:55:52 -07:00