Commit Graph

1421 Commits

Author SHA1 Message Date
Samy Pessé 13b9f6b07f Optimize images using Cloudflare Images (#40)
* Optimize images using Cloudflare Images

* Try skipping middleware

* Make it work with base path

* Fetch image size

* Use a target instead of the cf fetch options

* Fix resizing

* Start optimizing images

* Preload images

* Use it for page cover

* Format and adapt cover

* Fix image resizing serving jpeg

* Lazy load dark mode images

* Timeout at 2s

* Fix iframe CSP

* Implement logic to lazy load images that should be offscreen

* Also lazy load cover images

* Low priority in preloading

* Fix csp
2023-12-17 22:26:07 +01:00
Samy Pessé afcb0ecba6 Load integration scripts and secure the app with CSP (#39)
* Set colorSchema metadata

* Try CSP

* Move colorScheme to generateViewport

* Bun install

* Use wildcard for img-src and connect-src

* Allow all unsafe-inline for now for style

* Remove nonce for style

* Remove nonce for style

* Optimize data fetching with parallel requests

* Try to reuse memory cache between middleware and rendering in CF

* Comment

* Fetch document in parallel of collections

* Cleanup

* Log if redis is enabled for caching

* Fix memory cache before redis one

* Optimize alternatives being tested
2023-12-17 00:25:07 +01:00
Samy Pessé 046e74b4a8 Page ratings form (#38)
* Start showing ratings in the aside

* Conditionally render it

* Format

* Lint

* Accept NEXT_PUBLIC_GITBOOK_APP_URL
2023-12-15 22:43:44 +01:00
Samy Pessé 4dfb7c1e61 Load all fonts (#37)
* Load all fonts

* Use font-content as CSS variable

* Fix weird performance.now issue

* Fix font definition
2023-12-15 12:16:52 +01:00
Samy Pessé 594a1d18a7 Log cache performances (#36)
* Log cache performances

* Handle concurrent requests

* Debug log

* Remove debug log

* Comment
2023-12-14 18:33:09 +01:00
Samy Pessé 909a6e76f5 AI Search: recommended questions and hide if disabled (#35)
* Don't show AI search if ask is disabled in the space

* Fetch recommended questions

* Comment and format

* Fix when withAsk is false

* Format

* Lint
2023-12-14 17:38:02 +01:00
Sebastian Graz 5103686d7f remove content-ref for now 2023-12-14 16:51:46 +01:00
Sebastian Graz dae7f704fa Style PR (#34)
* codeblock styling

* fix hover rounding

* checkpoint layout

* improve highlight algo

* v1 syntax theme

* fix table cell add title style

* color tweaks

* opaque sticky numbers

* fix collection spaces

* card aspect fix

* adding back full-width tables

* num tabs

* Add v1 more table types

* format
2023-12-14 16:17:13 +01:00
Samy Pessé 87c38f9091 Sources and followup questions in AI search (#33)
* Show followup questions

* Show sources

* Lint
2023-12-13 08:55:14 +01:00
Samy Pessé ece7f421b4 First basic integration of AI search (#32)
* Refctor Intl and show "Ask" in search

* Handle ask state in the url

* Start fetching answer
2023-12-13 00:57:42 +01:00
Samy Pessé 7a87cc1bb1 Implement an endpoint to clear cache for a space (#31)
* Implement a tagging logic for cache value

* Extract cache-tags from HTTP requests

* Auto-tag API cache entry

* Implement route

* Output cache-control and cache-tag

* Make the revalidate route a edge one
2023-12-12 23:34:18 +01:00
Samy Pessé 2001e4dba5 Use absolute URLs for metadata (icon / social graph) (#30)
* Use absolute URLs for metadata (icon / social graph)

* Disable cache using "next" instead of "cache"

* Use cloudflare module from upstash
2023-12-12 21:38:22 +01:00
Samy Pessé f13e6cb55b Fix use of abort controller and parallel lookup of url 2023-12-12 20:58:37 +01:00
Samy Pessé fff0ea8c34 Add logs 2023-12-12 19:28:34 +01:00
Samy Pessé ee0b3c2032 Wait for cache operation before responding in middleware 2023-12-12 19:24:22 +01:00
Samy Pessé a4ae7140f2 Remove GitHub actions staging workflow 2023-12-12 19:23:23 +01:00
Samy Pessé 7cdf04d2da Remove debug log and try with a single alternative url 2023-12-12 19:03:13 +01:00
Samy Pessé 9138b18a68 Add debug logs 2023-12-12 12:17:31 +01:00
Samy Pessé 632ac7bbab Test by passing a x-forwarded-host header 2023-12-12 11:03:08 +01:00
Samy Pessé ff8a343a54 Fix new cache on Cloudflare (#29)
* Try with next.revalidate = 0

* Remove log

* Format
2023-12-12 10:56:07 +01:00
Samy Pessé b7a4721d66 Fix expired token with fetch data cache (#28)
* Start using cache module for getPublishedContentByUrl

* USe cache-header in cacheResponse

* Pass no-store to getPublishedContentByUrl

* bun install
2023-12-12 10:10:54 +01:00
Sebastian Graz 9e0aabc8bd Styling PR 4 (#24)
* add space to expandable, reduce shadow

* temp animation

* little better anims

* v1 stagger

* add opacity-0 back

* fix opacity on header

* overlay fix opacity

* fix chevron shrink

* style summary arrow

* search button add transition

* style hint custom anchor colors

* Commit

* image border

* fix text color hints

* fix code & code within hints

* annotation pass

* clean up

* setup before iconwork

* simplify hint animations

* allow heading sizes in hints, fix global outline

* fix arrows pagefooter

* increase hitarea arrow

* style ol ul

* v1 checkbox

* toc motion speed

* link legibility, move header links to end, anchor underline

* table pass for busy content

* better table defaults

* v1 table side scroller

* only show on threshold

* format
2023-12-11 20:21:18 +01:00
Samy Pessé 860bc02aa8 Fix code highlighting in Cloudflare (#27)
* Try calling WebAssembly.instantiate directly

* Load from shikiji/onig.wasm instead
2023-12-11 13:43:30 +01:00
Samy Pessé e880bce80b Fallback to plain code block if syntax is not found (#26)
* Fallback to plain code block if syntax is not found

* Try with shikiji instead

* Fix css variables

* Try calling loadWasm

* Support highlighting for all languages of shikiji

* Remove shiki

* Install vscode-oniguruma

* Run bun
2023-12-11 13:23:21 +01:00
Samy Pessé eea8aa306e Prevent search indexation for now 2023-12-10 23:44:20 +01:00
Samy Pessé cf925fd21c Update next to 14.0.4 2023-12-10 23:07:41 +01:00
Samy Pessé 0d15b052ab Fix metadata for pages: title and og images 2023-12-10 22:19:36 +01:00
Sebastian Graz 5761b1914a Styling PR 3 (#23)
- Fix headings always showing hashtag
- replace slate-color with Gitbook brand everywhere
- add gitbook logo to TOC
- Style inline code blocks like `these`
- made TOC headings sticky to top on scroll
- Redesign the blockref component
- Nicer use of `ring` instead of `border` for layout separation
2023-12-05 20:44:56 +01:00
Sebastian Graz d38752433f Styling pr 2 (#20)
- hints remove blend mode on depth > 1
- hints icons animated
- Fix color theming on dropdown menu sub items
- figure out custom shadows for 1px stroke outside paragdim
- tab blocks add spacing between items
- set default accent/primary color if not set
2023-12-04 20:43:47 +01:00
Samy Pessé 8e5b28d2e0 Page cover (#22)
* Start rendering for the cover

* Style image

* Negative margins

* Support hero cover
2023-12-04 16:51:37 +01:00
Samy Pessé ba0d38c220 Page layout options (#21)
* Hide title/description based on layout

* Hide aside based on page.layout.outline

* Hide pagination based on layout

* Hide table of contents based on layout
2023-12-04 00:29:20 +01:00
Samy Pessé 5d236c138a Update gitbook/api@0.18.0 2023-12-03 19:17:25 +01:00
Sebastian Graz bc6244bb58 Styling PR 1 (#16)
* add maxwidth limit for very large screens

* testing animation on hints

* page aside style on darkmode

* fix icon TOC

* Make scrollbars stable when overflowing

* fix scrollbar on search

* search compact header

* search style

* test without bg toc

* Commit

* setup before mobile TOC

* test if style{} clashes

* fix TOC hover

* add prevent default on search shortcut

* add deps

* Add header mobile menu setup

* work on fallback logo

* style search modal position

* style hamburger button

* padding

* add rudimental toggle

* comment

* gap value responsive

* remove slate

* fix z index

* undo test

* Install and format

---------

Co-authored-by: Samy Pessé <samypesse@gmail.com>
2023-11-29 21:18:47 +01:00
Samy Pessé 0cdb5fdf61 Resole root page to / instead of its entire path (#19) 2023-11-29 19:20:31 +01:00
Samy Pessé 78f2469a53 Try the edge runtime (#18)
* Use edge runtime

* Install
2023-11-29 13:38:31 +01:00
Samy Pessé c0f7ccfe3f Dummy commit to trigger Vercel 2023-11-28 21:19:37 +01:00
Samy Pessé 28915e906f Fix invalid colors generated when deployed (#17)
* Try logging

* Try

* Try

* Fix?

* Format

* Remove log
2023-11-28 18:04:26 +01:00
Samy Pessé 92451dba91 Improve middleware with support for x-gitbook-basepath (#15)
* Accept a x-gitbook-api to use as the API endpoint

* Format

* Add support for x-gitbook-basepath

* Add skipTrailingSlashRedirect
2023-11-28 12:43:54 +01:00
Samy Pessé 02715436e7 Accept an X-GitBook-Api header to configure the API endpoint (#14)
* Accept a x-gitbook-api to use as the API endpoint

* Format
2023-11-27 19:00:31 +01:00
Samy Pessé b8af0cb4af Second try with staging git workflow 2023-11-27 16:06:29 +01:00
Samy Pessé b2b2a8c23c Automatically update the staging branch from main using a GH action 2023-11-27 16:03:30 +01:00
Samy Pessé 808f10d428 Namespace cache and prepare handling staging requests (#13)
* Implement UPSTASH_REDIS_NAMESPACE

* Accept X-GitBook-Host and switch to multi mode when present

* Format
2023-11-27 15:50:41 +01:00
Samy Pessé ee0d45fa8b Try fixing PageAside 2023-11-27 14:49:59 +01:00
Samy Pessé 315954dffc Use the new document API to fetch page document (#12)
* Use new API

* Remove getPageDocument

* Format
2023-11-27 13:57:10 +01:00
Samy Pessé bb8b039c1a Code blocks (#10)
* Remove added line

* Improve gutter and prepare wrap

* Style layout of code blocks

* Start rendering annotation

* Test serverComponentsExternalPackages

* Directly import theme

* Use Tailwind with shiki

* Prepare idea on how to lazy load languages

* Start better matching with inlines

* Make test work

* Start loading more languages

* Start annotations

* Format

* Fix multiple lines

* bun install
2023-11-26 23:49:04 +01:00
Samy Pessé fbd17713fe Use newer APIs to optimize data loading and fix resolution of links in the TOC (#11)
* Update api@0.16.0

* Fetch pages and files independantly

* Correctly resolve content ref in TOC

* Format

* Format

* Cleanup
2023-11-26 23:46:51 +01:00
Samy Pessé 2a03461a21 Improve readme 2023-11-23 11:31:04 +01:00
Samy Pessé 84fd934fe1 Try custom cache (#9)
* Try custom cache

* Fix redis cache

* Comment
2023-11-21 21:19:08 +01:00
Sebastian Graz aab7d0bd7a Design pass (#8)
* first stab at bullet points
* setup theming, custom opacities, use of brand UI colors
* color key change
* delete brand
* setup initial defaults
* Add opacity parameter to primary color
* style TOC
* styling pass header, footer, hints, toc, trademark
* table pass
* style pass, typo, quote, tabs, search, theme, toc
2023-11-21 18:29:36 +01:00
Samy Pessé a4ec3c8c53 Refactor routing logic for production to support multi-tenancy (#7)
* Move back to use the middleware as the main logic

* Fix link

* Improve lookup to support docs.gitbook.com.localhost:3000

* Make it work with dev url in prod for now

* Start lookup with API

* Continue

* Prepare for cloudflare build

* Dummy commit

* Try to abort requests

* Support x-forwarded-host

* Test multiple modes

* Add logs

* Add logs

* Update next

* Default to multi-path

* Switch back to nodejs runtime

* Adapt to staging API

* Make sure to return an absolute url for a redirect

* Update api client and try single request

* Try again with concurrent lookup
2023-11-21 16:53:02 +01:00