Commit Graph

473 Commits

Author SHA1 Message Date
Samy Pessé 87e67866a4 Fix condition to render document being reversed (#83)
* Fix condition to render document

* Format
2024-01-02 18:31:15 +01:00
Samy Pessé 0c80f96579 Show grid of sub-pages when page is empty (#82)
* Add a blankslate when the page has no document

* Format
2024-01-02 17:55:43 +01:00
Samy Pessé 22eeaca92c Add support for all column types (#81)
* Support files and content ref

* Display all column types

* Pass width

* Format
2024-01-02 10:43:52 +01:00
Sebastian Graz 66ba1c244f Styling PR (#80)
* add BR to TOC links

* fix sticky TOC padding

* increase searchbar contrast

* align toc and aside

* copy on hover only

* nicer tabs

* more dynamic table sizes

* dynamic expandable treatment

* skeleton v1

* modal spacing + close modal on source click

* fix page link icon TOC

* add PDF separate spacing

* fix TW Intellisense + further styling of loadingpane

* properly style skeletons

* better loading panels, AI search enhancement while waiting

* Commit

* Use the same state for answer

---------

Co-authored-by: Samy Pessé <samypesse@gmail.com>
2024-01-02 09:09:01 +01:00
Samy Pessé 0668d8a287 Track page view (#42)
* Track page view using a server action

* Track the page view

* Format

* Track it once

* Support no page an pass language

* Update API client
2023-12-29 15:28:49 +01:00
Samy Pessé 2fdf3e3838 Progressive loading (#79)
* Suspense boundary and progressive loading on blocks

* Start refactoring to better leverage app router

* Use skeleton for page layout

* Improve dynamic toc

* Switch page full width to be client side only

* Format

* Remove old PageLoading

* Fix first page not marked as active

* Close search when clicking search link
2023-12-28 14:38:15 +01:00
Samy Pessé 1c2d68c518 Fix handle of multi-id and improve PDF UI in that case (#78)
* Fix handling urls with direct space ID

* Preserve all search params when navigating in the PDF UI

* Show a trademark on the pdf page

* Generate proper trademark url

* Format

* Cleanup
2023-12-27 16:32:59 +01:00
Samy Pessé c8358feeeb Support an "api" query parameter in mode multi-id (#77) 2023-12-27 14:15:47 +01:00
Samy Pessé 6cf73e4962 Support URL path to directly access a space by its ID (even private) (#76)
* Handle URLs /~space/:id

* Validate permissions in multi-id mode
2023-12-27 13:46:35 +01:00
Samy Pessé 67b20138dd Show loading, fix z-index and prevent print from opening (#75) 2023-12-27 11:37:44 +01:00
Samy Pessé 83f4cb5968 Add link to PDF export in the page and improve PDF UI (#73)
* Add buttons to pdf page

* Present as page

* Fix break

* Show active page

* Add description

* Make buttons work

* Handle back link

* Show alert when reaching maximum

* Format
2023-12-26 23:14:46 +01:00
Samy Pessé 24f5e73bbe PDF export (#72)
* Start

* Improve generation

* Improve style

* Lint

* Use tilde instead of dot in the url

* Improve style

* Fix page group

* Format

* Add visual tests for PDF
2023-12-26 18:36:44 +01:00
Sebastian Graz 1fde857aee Stylepr (#60)
* hint leading

* first attempt at themed ui

* v2 theme ui

* fix feedback

* fix hint css override

* cookie

* more sensible scroll logic

* Add better heading margin

* inline code styling

* fix copy button, list vis, next/prev mobile

* add shortcut to search button

* search button, toc

* add toc style

* fix toc hover

* safari fix

* simplify search, swagger, next/prev

* add mask to page cover

* codeblock fix

* global defaults

* improve mobile cards

* modal changes

* change mask intensity dark mode, fix table progress zindex

* a target

* selection, footer, search icon

* fix card resp

* fix multi col images

* fix aside

* card item pos

* search vis

* reuse same header for mobile

* fix header and search legibility

* format

* Sidebar changes

* remove linear gradient light mode page cover
2023-12-26 14:38:54 +01:00
Samy Pessé 4d38479a0f Render inline images (#71)
* Implement inline images

* Format
2023-12-26 12:22:19 +01:00
Samy Pessé db4d4a3408 Format (#70) 2023-12-26 11:20:08 +01:00
Samy Pessé 7267398d5b Use caching for search/ask and rich content for answers (#68)
* Use caching for search/ask

* Refactor DocumentView to be ready to be used for other stuff

* Start logic to use document

* Fix comment

* Remove log

* Format and typecheck
2023-12-25 22:59:14 +01:00
Samy Pessé 2d4c9880fd Fix last accessibility issue in cookies modal and try CI to monitor regressions (#67)
* Add aria-label to cookies modal

* Test lighthouse

* Remove lighthouse as it doesn't work in bun

https://github.com/oven-sh/bun/issues/4958

* Translate everything in search
2023-12-24 17:44:36 +01:00
Samy Pessé 231654e43b Improve accessibility of the cookie banner (#66) 2023-12-24 16:30:34 +01:00
Samy Pessé bfdf6640c8 Add "Edit on GitHub" in aside (#58)
* Start showing link in the aside

* Show link in aside

* Add icon next to link

* Fix padding
2023-12-24 16:04:25 +01:00
Samy Pessé 528a06c65a Improve scroll and aside (#64)
* Scroll to the right location and show active section in aside

* Format
2023-12-24 16:02:34 +01:00
Samy Pessé f7cb622863 Render inline emojis as native emojis (#65) 2023-12-24 14:53:22 +01:00
Samy Pessé 6f6dde1aa4 Update tailwind to 3.4 (#63)
* Update tailwind to 3.4.0

* Update tailwind-merge

* Fix responsive for cards in the footer

* Make card responsive

* Lint
2023-12-24 01:26:51 +01:00
Samy Pessé 3188795a52 Improve not found error (#62)
* Implement error page

* Improve color

* Lint

* Add padding for mobile
2023-12-23 23:25:01 +01:00
Samy Pessé e681aa6ba1 Use card for embed and display caption (#61)
* Use card for embed and display caption

* Fix warnings in icon
2023-12-23 22:49:28 +01:00
Samy Pessé 215c724a9b Use Cloudflare Cache API as one of the cache backend (#59)
* Implement cache for cloudflare

* Start using it

* Fix cache use

* Generate proper URLs

* Comment

* Fix cache always resulting in cache miss

* Log

* Correctly cancel redis

* Write to fallback caches

* Disable memory cache

* Re-enable memory cache

* Try patching

* Use it

* Also patch package.json

* Fix TS errors

* Remove yarn.lock

* Fix local error

* Lint

* Try bunx to fix vercel build

* Update lockfile

* Add back revalidating
2023-12-22 11:05:14 +01:00
Sebastian Graz c1d3f990f1 Styling PR (#56)
* v1 loading state

* refactor primitives

* fix order

* fix toast styling

* v1 rating

* transition on page spinner

* visual fixes
2023-12-21 16:51:36 +01:00
Samy Pessé 6a62f42521 Lazy load KaTeX CSS (#57)
* First attempt at lazy loading it

* New approach

* Format

* Remove logs
2023-12-21 15:11:06 +01:00
Samy Pessé e81d65dc2e Fix typescript error 2023-12-21 12:38:09 +01:00
Sebastian Graz c5f75116d3 Commit (#45) 2023-12-21 12:27:12 +01:00
Samy Pessé c18ec51a4a Experiment with setting Cloudflare-CDN-Cache-Control to force caching 2023-12-21 10:24:11 +01:00
Samy Pessé 5f690af5fb Fix flash of the header when switching between light and dark mode (fix RND-1917) 2023-12-20 18:22:07 +01:00
Samy Pessé fbc2ae10a0 Show cookies approval toast (#55)
* Show cookies toast when privacy policy is enabled

* Flex buttons

* Improve design

* Fix mobile design
2023-12-20 16:51:14 +01:00
Samy Pessé ca3ab044c3 Improve CI with caching and lint work (#53)
* Cache next.js build

* Add format and lint job

* Run typecheck

* FIx all TS issues

* Declare modules for images
2023-12-20 16:07:18 +01:00
Samy Pessé 2888b95b36 Accept a GITBOOK_TOKEN to fetch published content (#54) 2023-12-20 16:04:44 +01:00
Samy Pessé b11566dfb1 Fix favicon for collections and improve middleware matching (#52)
* Use collection title instead of space/customization title when possible

* Skip useless match
2023-12-20 11:41:04 +01:00
Samy Pessé be198045b1 Fallback to using hash of arguments for cache key (#51)
* Fallback to using hash of arguments for cache key

* Dummy commit to trigger build
2023-12-20 09:36:20 +01:00
Samy Pessé 720c2ca909 Setup visual testing (#50)
* Add cloudflare job to publish pages

* Try like this

* Fix build path

* Try end to end

* Fix installation

* Use var instead of secret for CLOUDFLARE_PROJECT_NAME

* Use new puppeteer mode

* Add more tests

* Run in parallel

* Go back to no-concurrency

* Test pagespeed

* Print output

* Fix thresholds
2023-12-19 23:51:06 +01:00
Samy Pessé c935700672 Improve cache revalidation to avoid processing keys multiple times 2023-12-19 19:39:04 +01:00
Samy Pessé e04d03c696 Remove cache tags for documents 2023-12-19 19:31:14 +01:00
Samy Pessé 4f84011f6b Purge cache when option is passed and revalidate starting by entries with max hits (#49)
* Accept an option to purge without refreshing

* Store hits on the redis cache entry

* Revalidate first the entries with the most hits

* Format

* bun

* Ignore error from JSON.NUMINCRBY
2023-12-19 19:16:36 +01:00
Samy Pessé 93aa1cfabf Fix typecheck in .gitbook folders 2023-12-19 18:13:11 +01:00
Samy Pessé 522eaa4319 Fallback to API to resolve page by path to handle redirects (#48) 2023-12-19 15:55:00 +01:00
Samy Pessé 772d120e3a Show loading spinner when navigating between pages (#46) 2023-12-19 15:24:54 +01:00
Samy Pessé bfe91f71f9 Generate robots.txt and add meta link to privacy policy (#47) 2023-12-19 13:34:55 +01:00
Samy Pessé e903bb7752 Update upstash module to fix typing 2023-12-19 10:11:58 +01:00
Sebastian Graz 196e8bcfc0 quickfix: add overflow hidden if search modal open 2023-12-18 23:11:54 +01:00
Samy Pessé eb8baffcf8 Add class search-open to body when search modal is displayed 2023-12-18 22:03:07 +01:00
Sebastian Graz f3ecb69404 modal Y position 2023-12-18 21:53:35 +01:00
Sebastian Graz 86fe37f968 Search PR (#44)
* add search spinner

* better dark/light settings

* text color use textarea for input to get multiline

* fix fonts

* fix margins on result

* fix local ascent override, primary spinner color

* fix overflow

* fix overflow not scrolling all the way up

* testing hiding sidescroller on hover

* add better hover

* no-answer fix
2023-12-18 21:32:54 +01:00
Samy Pessé 953c6bd194 Revalidate cache instead of just invalidating it (#43)
* Store arguments and tags in redis cache

* Refactor cache to support revalidation

* Format

* Fix redis cache

* Try with both GT and NX

* Fix get from redis

* Fix json syntax

* New attempt

* Fix log

* Skip case where there is no key for tags

* New try

* Ignore when no tags is passed
2023-12-18 21:03:07 +01:00