Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions hbase-website/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ lerna-debug.log*
/app/pages/_docs/docs/_mdx/(multi-page)/configuration/hbase-default.md
/app/lib/export-pdf/hbase-version.json
/public/books/**
/public/sitemap.xml

# Playwright
node_modules/
Expand Down
6 changes: 4 additions & 2 deletions hbase-website/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -476,16 +476,18 @@ When you run `mvn site`, the website module automatically:
- `npm run extract-hbase-config` - Extract data from `hbase-default.xml` to `app/pages/_docs/docs/_mdx/(multi-page)/configuration/hbase-default.md`
- `npm run extract-hbase-version` - Extract version from root `pom.xml` to `app/lib/export-pdf/hbase-version.json`
- `npm run test:unit:run` - Vitest unit tests
- `npm run test:e2e` - Playwright e2e tests
- `npm run build` - Production build
- `npm run generate-sitemap` - Generates `public/sitemap.xml` and `build/client/sitemap.xml`
- `npm run test:e2e` - Playwright e2e tests

`npm run ci-skip-tests` executes:
- `npm run extract-developers` - Extract developers from parent pom.xml
- `npm run extract-hbase-config` - Extract data from `hbase-default.xml` to `app/pages/_docs/docs/_mdx/(multi-page)/configuration/hbase-default.md`
- `npm run extract-hbase-version` - Extract version from root `pom.xml` to `app/lib/export-pdf/hbase-version.json`
- `npm run build` - Production build
- `npm run generate-sitemap` - Generates `public/sitemap.xml` and `build/client/sitemap.xml`
- `npx playwright install` - Installs Playwright browsers
- `npm run export-pdf` - Generates docs PDF assets through Playwright
- `npm run build` - Production build

6. **Build Output**: Generated files are in `build/` directory

Expand Down
3 changes: 2 additions & 1 deletion hbase-website/app/routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ export default [
route("source-repository", "routes/_landing/source-repository.tsx"),
route("acid-semantics", "routes/_landing/acid-semantics.tsx"),
route("news", "routes/_landing/news.tsx"),
route("export-control", "routes/_landing/export-control.tsx")
route("export-control", "routes/_landing/export-control.tsx"),
route("404", "routes/404.tsx")
]),
// Docs
layout("./pages/_docs/docs-layout.tsx", [route("docs/*", "routes/_docs/docs.tsx")]),
Expand Down
57 changes: 57 additions & 0 deletions hbase-website/app/routes/404.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

import type { Route } from "./+types/404";
import { Link } from "@/components/link";
import { Button } from "@/ui/button";

export function meta({}: Route.MetaArgs) {
return [
{ title: "Page Not Found - Apache HBase" },
{
name: "description",
content:
"The page you are looking for does not exist. The route you were trying to visit might have changed."
},
{ name: "robots", content: "noindex, nofollow" }
];
}

export default function NotFound() {
return (
<section className="container mx-auto px-4 py-16 md:py-24">
<div className="mx-auto flex max-w-2xl flex-col items-center text-center">
<p className="text-muted-foreground text-sm font-semibold tracking-[0.3em] uppercase">
404
</p>
<h1 className="mt-4 text-4xl font-semibold tracking-tight text-balance md:text-6xl">
Page not found
</h1>
<p className="text-muted-foreground mt-4 text-lg text-pretty md:text-xl">
The page you are looking for doesn&apos;t exist. The route you were trying to visit might
have changed.
</p>
<div className="mt-8 flex flex-wrap items-center justify-center gap-3">
<Button asChild size="lg">
<Link to="/">Go back home</Link>
</Button>
</div>
</div>
</section>
);
}
Loading
Loading