Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
a0ad054
feat(build): migrate Tailwind CSS 3 to 4
isaque-bock-azion Aug 19, 2026
17ca0e6
feat(build): upgrade Astro 5 to 7
isaque-bock-azion Aug 19, 2026
3ec0338
feat(components): remove azion-webkit, port all components locally wi…
isaque-bock-azion Aug 28, 2026
1724f3c
feat(header): align docs header and search with webkit sample
isaque-bock-azion Aug 31, 2026
2941ad6
chore(styles): remove dead CSS files not sourced from @aziontech/theme
isaque-bock-azion Aug 31, 2026
392405b
feat(footer): port Footer to webkit DS component
isaque-bock-azion Aug 31, 2026
33b2f5e
feat(layout): replace manual sidebar/toc with webkit DS components
isaque-bock-azion Aug 31, 2026
8dda1f4
refactor(components): port Aside/Code to webkit DS; remove legacy int…
isaque-bock-azion Aug 31, 2026
005fb71
feat(components): add webkit DS wrapper components for docs layout
isaque-bock-azion Aug 31, 2026
ff0514d
chore(deploy): add Azion CLI deploy config and workflow
isaque-bock-azion Aug 31, 2026
c26e669
feat(home): use webkit Button directly in /en/documentation/ home page
isaque-bock-azion Aug 31, 2026
8279e27
feat(components): add DocButton so buttons survive the DocProse contract
isaque-bock-azion Sep 1, 2026
d1ecaa6
fix(content): route every webkit Button in the docs body through DocB…
isaque-bock-azion Sep 1, 2026
427e8c5
fix(deps): patch webkit's DocProse to teleport its copy tip only once…
isaque-bock-azion Sep 1, 2026
1e61e82
refactor(tabs): replace the Preact tab group with webkit's TabView
isaque-bock-azion Sep 1, 2026
8730d73
refactor(components): drop six hand-built components for their webkit…
isaque-bock-azion Sep 1, 2026
8886ef2
refactor(footer): build the footer controls on webkit instead of by hand
isaque-bock-azion Sep 1, 2026
9c400cf
chore: land the work that was already pending in the working tree
isaque-bock-azion Sep 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 11 additions & 0 deletions .claude/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"version": "0.0.1",
"configurations": [
{
"name": "docs-dev",
"runtimeExecutable": "npm",
"runtimeArgs": ["run", "dev"],
"port": 4321
}
]
}
5 changes: 0 additions & 5 deletions .eslintignore

This file was deleted.

77 changes: 0 additions & 77 deletions .eslintrc.js

This file was deleted.

74 changes: 74 additions & 0 deletions .github/workflows/azion-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Deploy Application using Azion CLI

on:
workflow_dispatch:
inputs:
branch:
required: true
type: choice
default: main
options:
- main

jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest

permissions:
contents: write

steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Use Node.js 20.x
uses: actions/setup-node@v4
with:
node-version: 20

# If you want to change package manager, change the command below and add the necessary configurations
- name: Install dependencies
run: npm install

- name: Install Azion CLI
run: |
curl -o azionlinux https://downloads.azion.com/linux/x86_64/azion
sudo mv azionlinux /usr/bin/azion
sudo chmod u+x /usr/bin/azion

- name: CLI version
run: azion --version

# Configure a personal token in your github secrets
# You may create a personal token by running 'azion create personal-token'
- name: Configure token
run: |
azion -t ${{ secrets.AZION_PERSONAL_TOKEN }}
azion whoami

- name: Azion Build
run: |
azion build

# You may add the --sync flag to sync local and remote resources
- name: Azion Deploy
run: |
azion deploy --local --debug

- name: Commit Azion files
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add azion/azion.json azion.config.* || true
# Commit only if there are staged changes
if git diff --cached --quiet; then
echo "No Azion changes to commit. Skipping push."
else
git commit -m "chore: update azion files"
# Rebase in case remote has new commits, then push
git pull --rebase origin ${{ inputs.branch }}
git push
fi
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,7 @@ sandbox.config.json
.kilocode
.kilo
.markdown-link-resolver/
#Paths added by Azion CLI
.edge/
.vulcan
.open-next
59 changes: 48 additions & 11 deletions astro.config.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import { SITE_URL } from './src/consts';
import type { AstroUserConfig } from 'astro';
import { defineConfig } from 'astro/config';
import { unified } from '@astrojs/markdown-remark';
import tailwindcss from '@tailwindcss/vite';

import mdx from '@astrojs/mdx';
import tailwind from '@astrojs/tailwind';
import vue from '@astrojs/vue';
import preact from '@astrojs/preact';
import AutoImport from 'astro-auto-import';
Expand All @@ -12,7 +14,7 @@ import rehypeAutolinkHeadings from 'rehype-autolink-headings';
import remarkSmartypants from 'remark-smartypants';

import { asideAutoImport, astroAsides } from './integrations/astro-asides';
import AzionExpressiveCode from './integrations/expressive-code';
import { astroCodeBlocks, codeBlockAutoImport } from './integrations/astro-code-blocks';

import { sitemap } from './integrations/sitemap';
import { autoLinks } from './plugins/rehype-autolink-config';
Expand All @@ -23,6 +25,8 @@ import { rehypeOptimizeStatic } from './plugins/rehype-optimize-static';
import { rehypeTasklistEnhancer } from './plugins/rehype-tasklist-enhancer';
import rehypeScrollableTables from './plugins/rehype-scrollable-tables.js'

type MarkdownConfig = NonNullable<AstroUserConfig['markdown']>;

const productionBuild = import.meta.env.PROD;

export default defineConfig({
Expand All @@ -33,23 +37,34 @@ export default defineConfig({
},
integrations: [
AutoImport({
imports: [asideAutoImport, { '~/components/Video.astro': [['default', 'Video']] }],
imports: [
asideAutoImport,
codeBlockAutoImport,
{ '~/components/Video.astro': [['default', 'Video']] },
],
}),
preact({ compat: true }),
sitemap(),
astroAsides(),
AzionExpressiveCode(),
astroCodeBlocks(),
mdx(),
tailwind({ applyBaseStyles: false }),
vue({ appEntrypoint: '/src/vue.config.js' })
// No appEntrypoint: the only global Vue plugin was vue-instantsearch,
// gone with the Algolia dialog (the palette talks to Algolia directly).
vue()
],
markdown: {
// Astro 7 defaults to the Sätteri (Rust) markdown pipeline, which does not
// run remark/rehype plugins. Keep the unified() processor until the custom
// plugins below are ported to Sätteri (planned as a follow-up).
processor: unified() as unknown as MarkdownConfig['processor'],
// Override with our own config
smartypants: false,
// The plugins below were written against unified 10 typings; they run
// fine on the unified() processor but Astro 7's plugin types reject them.
remarkPlugins: [
[remarkSmartypants, { dashes: false }],
// Add our custom plugin that marks links to fallback language pages
],
] as MarkdownConfig['remarkPlugins'],
rehypePlugins: [
rehypeSlug,
rehypeScrollableTables,
Expand All @@ -62,18 +77,40 @@ export default defineConfig({
rehypei18nAutolinkHeadings(),
// Collapse static parts of the hast to html
rehypeOptimizeStatic,
]
] as MarkdownConfig['rehypePlugins'],
},
compressHTML: productionBuild ? true : false,
trailingSlash: 'always', // for server
vite: {
ssrBuild: true,
server: {
fs: {
allow: ['..']
}
},
plugins: [
tailwindcss(),
{
// Astro 7 renders static pages in a dedicated `prerender` Vite
// environment that does not inherit the legacy `ssr.noExternal`
// list (and Astro overwrites `environments.prerender` wholesale in
// its build config).
name: 'azion:server-noexternal',
configEnvironment(name: string) {
if (name === 'client') return null;
return {
resolve: {
// `@aziontech/webkit` has to be bundled, not externalised:
// its `navigation-menu` entry is an `index.js` that imports
// `.vue` files, and Node cannot load those on its own
// ("Unknown file extension .vue"). Components whose entry is
// itself a `.vue` or a `.ts` happen to work either way, which
// is why this only surfaced when NavigationMenu was adopted.
noExternal: ['@astrojs/vue', '@aziontech/theme', '@aziontech/webkit'],
external: ['vue']
}
};
}
},
cssnano({
preset: [
'default', {
Expand All @@ -84,11 +121,11 @@ export default defineConfig({
})
],
ssr: {
noExternal: ['@astrojs/vue', 'azion-webkit', 'azion-theme'],
noExternal: ['@astrojs/vue', '@aziontech/theme', '@aziontech/webkit'],
external: ['vue']
},
optimizeDeps: {
include: ['vue', 'primevue/config']
include: ['vue']
}
}
});
Loading
Loading