Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
a492321
feat: add Avatar component
g-francesca Mar 4, 2026
7aea4bc
feat: add post cards
g-francesca Mar 4, 2026
9c2f5c5
style: post cards
g-francesca Mar 4, 2026
90e6261
feat: dynamic blog listing page
g-francesca Mar 5, 2026
d1076eb
feat: add Pagination component
g-francesca Mar 5, 2026
0f3c0aa
style: refine listing style
g-francesca Mar 5, 2026
86d9089
feat: add Tag component
g-francesca Mar 5, 2026
230b669
feat: review Avatar component to include multiple authors
g-francesca Mar 5, 2026
fcec8ae
feat: set Tabs to filter posts
g-francesca Mar 5, 2026
3488f08
style: refine pagination and tag
g-francesca Mar 6, 2026
9490956
fix: remove usless index
g-francesca Mar 6, 2026
9c6e1bf
fix: minor style fixes
g-francesca Mar 9, 2026
20743a0
fix: formatting
g-francesca Mar 9, 2026
849032e
feat: orama search initial setup
g-francesca Mar 9, 2026
e9d58d1
fix: use iconify
g-francesca Mar 10, 2026
091e4c0
fix: clean up blog posts tags
g-francesca Mar 10, 2026
60d9957
fix: use Image astro component
g-francesca Mar 10, 2026
761c537
fix: pagination links for accessibility
g-francesca Mar 10, 2026
5c6b897
fix: color contrast for tags
g-francesca Mar 10, 2026
e351421
fix: formatting
g-francesca Mar 10, 2026
00cf88c
fix(theme): disable CSS transitions during theme change to prevent fl…
ShubhamOulkar Mar 10, 2026
2ba4ed6
fix: show authors on blog posts
ShubhamOulkar Mar 10, 2026
36c948f
feat: add script to feed orama index
g-francesca Mar 11, 2026
c57b72e
style: blog page with 2 cols on tablet
g-francesca Mar 11, 2026
e176b88
Merge branch 'redesign-blog-listing' of github.com:expressjs/expressj…
g-francesca Mar 11, 2026
134990e
Merge branch 'redesign-blog-listing' into redesign-search
g-francesca Mar 11, 2026
4a3cbee
refactor: searchbox component layout
g-francesca Mar 11, 2026
a4af188
feat: add orama search
g-francesca Mar 11, 2026
c4b9945
feat: add result item breadcrumb
g-francesca Mar 11, 2026
7a9ff8a
Merge branch 'redesign' into redesign-search
g-francesca Mar 13, 2026
f842186
fix: wrong merge
g-francesca Mar 16, 2026
9ee8934
Merge branch 'redesign' into redesign-search
g-francesca Mar 16, 2026
28e984f
fix: autofocus search input
g-francesca Mar 16, 2026
9db2e25
feat: add support for arrow nav
g-francesca Mar 16, 2026
79f4947
fix: getApi function to remove lang
g-francesca Mar 16, 2026
63ed848
feat: add translate function to search
g-francesca Mar 16, 2026
41dd42f
style: gracefully overflow facet tabs
g-francesca Mar 16, 2026
6a80e02
feat: add chat interactions
g-francesca Mar 16, 2026
179abda
feat: add chat smooth scroll behaviour
g-francesca Mar 17, 2026
388ad1d
feat: improve search and chat loader
g-francesca Mar 17, 2026
a060cc6
feat: add abort chat
g-francesca Mar 17, 2026
a0b1cf0
feat: add chat actions
g-francesca Mar 18, 2026
66cc086
feat: add chat actions component
g-francesca Mar 19, 2026
e5f46f1
style: refine chat sources
g-francesca Mar 19, 2026
a25bc34
feat: add sources to chat
g-francesca Mar 19, 2026
2708210
feat: set chat with initial prompt
g-francesca Mar 19, 2026
c6b34f6
fix: preserve value of search input
g-francesca Mar 19, 2026
da095db
style: list of assistant message
g-francesca Mar 19, 2026
05062d7
fix: loading state
g-francesca Mar 19, 2026
c24a6f7
fix: preserve searchbox state on close modal
g-francesca Mar 19, 2026
c0b0ef9
fix: clear position
g-francesca Mar 19, 2026
4699db3
fix: do not ask same question twice
g-francesca Mar 19, 2026
1fed336
style: customize scrollbar
g-francesca Mar 19, 2026
c947034
feat: add keyboard shortcuts
g-francesca Mar 19, 2026
a72860a
fix: kyb shortcuts visibility
g-francesca Mar 19, 2026
797fc0d
fix: formatting
g-francesca Mar 19, 2026
1c2c89b
refactor: search-chat change mode
g-francesca Mar 20, 2026
dc2db47
refactor:searchbox header
g-francesca Mar 20, 2026
c7d298b
fix: remove unused i18n keys
g-francesca Mar 20, 2026
27b6a4c
fix: remove css rule
g-francesca Mar 20, 2026
f81f0ab
fix: prevent searchbox modal layout shift
g-francesca Mar 20, 2026
b7b95dc
fix: formatting
g-francesca Mar 20, 2026
f554933
feat: add Orama Cloud sync workflow
bjohansebas Mar 22, 2026
62001e1
fix: remove dotenv dependency
bjohansebas Mar 22, 2026
4b4ad3a
fix: add error handling for loading .env.local file
bjohansebas Mar 22, 2026
6e0a237
Merge branch 'redesign' into redesign-search
g-francesca Mar 23, 2026
f8e33e6
Merge branch 'redesign-search' of github.com:expressjs/expressjs.com …
g-francesca Mar 23, 2026
b797528
fix: add astro/react
g-francesca Mar 23, 2026
b6fbe1f
docs: add comment for svgr plugin
g-francesca Mar 23, 2026
74c9a8e
refactor: improve performance
g-francesca Mar 24, 2026
7283a37
refactor: add unplugin-icons to import used icons only
g-francesca Mar 24, 2026
df27cf7
fix: boost title in search
g-francesca Mar 24, 2026
dc13755
fix: wrong import
g-francesca Mar 24, 2026
3fa63ff
fix: remove dotenv dep
g-francesca Mar 24, 2026
7d33390
fix: path api docs
g-francesca Mar 24, 2026
205f317
fix: path doc
g-francesca Mar 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions .github/workflows/sync-orama.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Sync Orama Cloud

on:
workflow_dispatch:
push:
branches:
- redesign
pull_request:
branches:
- redesign

permissions:
contents: read

concurrency:
group: "${{ github.workflow }} ✨ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}"
cancel-in-progress: ${{ github.event_name != 'push' }}

jobs:
sync-orama-cloud:
name: Sync Orama Cloud
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v6
with:
persist-credentials: false

- name: Set up Node.js
uses: actions/setup-node@v6
with:
# node-version-file: ".nvmrc" use when .nvmrc is on root of the repo
node-version: "24.13"
# cache: "npm" use when package-lock.json is on root of the repo

- name: Install Node.js dependencies
working-directory: astro
run: npm ci

- name: Sync Orama Cloud
working-directory: astro
run: node ./scripts/sync-orama.mjs
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PUBLIC_ORAMA_PROJECT_ID: ${{ github.event_name == 'push' && secrets.PUBLIC_ORAMA_PRODUCTION_PROJECT_ID || secrets.PUBLIC_ORAMA_PROJECT_ID }}
PRIVATE_ORAMA_API_KEY: ${{ github.event_name == 'push' && secrets.PRIVATE_ORAMA_PRODUCTION_API_KEY || secrets.PRIVATE_ORAMA_API_KEY }}
PUBLIC_ORAMA_DATASOURCE_ID: ${{ github.event_name == 'push' && secrets.PUBLIC_ORAMA_PRODUCTION_DATASOURCE_ID || secrets.PUBLIC_ORAMA_DATASOURCE_ID }}
14 changes: 14 additions & 0 deletions astro/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ import mdx from '@astrojs/mdx';
import sitemap from '@astrojs/sitemap';
import icon from 'astro-icon';
import expressiveCode from 'astro-expressive-code';
import react from '@astrojs/react';
import svgr from 'vite-plugin-svgr';
import Icons from 'unplugin-icons/vite';

// TODO: add redirecto for blog posts

Expand All @@ -15,6 +18,16 @@ const site = NETLIFY_PREVIEW_SITE || 'https://expressjs.com';
// https://astro.build/config
export default defineConfig({
site,
vite: {
plugins: [
// Transforms SVG files imported with the `?react` suffix into React components
// (used for local SVG assets like logos).
svgr(),
// Resolves `~icons/collection/icon-name` imports into React components,
// bundling only the SVG paths for icons actually used (no full icon set in the bundle).
Icons({ compiler: 'jsx', jsx: 'react' }),
],
},
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add a comment explaining why this is necessary?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, added.

integrations: [
expressiveCode({
themes: ['github-dark'],
Expand All @@ -27,6 +40,7 @@ export default defineConfig({
}),
mdx(),
icon(),
react(),
sitemap({
i18n: {
defaultLocale: 'en',
Expand Down
Loading