Skip to content

Commit ed178b9

Browse files
committed
Upgrade web home
1 parent f67b3cb commit ed178b9

52 files changed

Lines changed: 10464 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/deploy.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Deploy React to GitHub Pages
2+
3+
on:
4+
push:
5+
tags:
6+
- 'web-v*'
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
pages: write
12+
id-token: write
13+
14+
concurrency:
15+
group: "pages"
16+
cancel-in-progress: false
17+
18+
jobs:
19+
build:
20+
runs-on: ubuntu-latest
21+
steps:
22+
- name: Checkout 🛎️
23+
uses: actions/checkout@v4
24+
with:
25+
ref: web
26+
27+
- name: Setup Node.js 📦
28+
uses: actions/setup-node@v4
29+
with:
30+
node-version: '20'
31+
cache: 'npm'
32+
cache-dependency-path: 'website/package-lock.json'
33+
34+
- name: Install dependencies 🔧
35+
run: npm ci
36+
working-directory: website
37+
38+
- name: Build 🏗️
39+
run: npm run build
40+
working-directory: website
41+
42+
- name: Setup Pages 📄
43+
uses: actions/configure-pages@v4
44+
45+
- name: Upload artifact 📤
46+
uses: actions/upload-pages-artifact@v3
47+
with:
48+
path: 'website/dist'
49+
50+
deploy:
51+
environment:
52+
name: github-pages
53+
url: ${{ steps.deployment.outputs.page_url }}
54+
runs-on: ubuntu-latest
55+
needs: build
56+
steps:
57+
- name: Deploy to GitHub Pages 🚀
58+
id: deployment
59+
uses: actions/deploy-pages@v4

website/.gitignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
pnpm-debug.log*
8+
lerna-debug.log*
9+
10+
node_modules
11+
dist
12+
dist-ssr
13+
*.local
14+
15+
# Editor directories and files
16+
.vscode/*
17+
!.vscode/extensions.json
18+
.idea
19+
.DS_Store
20+
*.suo
21+
*.ntvs*
22+
*.njsproj
23+
*.sln
24+
*.sw?

website/README.md

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
# BridgeX Website
2+
3+
The official website for BridgeX - an open-source graphical interface for converting files to Markdown.
4+
5+
## Features
6+
7+
- 🌐 **Multilingual**: Available in English, Spanish, and Portuguese (Brazil)
8+
- 🌓 **Dark/Light Mode**: Theme toggle with system preference detection
9+
- 📱 **Responsive Design**: Fully adaptive for mobile, tablet, and desktop
10+
-**Modern UI**: Glassmorphism design with smooth animations
11+
-**Fast**: Built with React and Vite for optimal performance
12+
13+
## Pages
14+
15+
- **Home**: Landing page with features, screenshots, and CTA
16+
- **Downloads**: Platform-specific download options (Windows .exe, pip install)
17+
- **Documentation**: Installation guides, usage instructions, troubleshooting
18+
- **About**: Project information, what BridgeX does and doesn't do
19+
- **Licenses**: Third-party license information (Markitdown, PySide6, etc.)
20+
21+
## Tech Stack
22+
23+
- **React 19** with TypeScript
24+
- **Vite** for fast builds
25+
- **React Router** for navigation
26+
- **i18next** for internationalization
27+
- **Axios** for API calls
28+
- **Lucide React** for icons
29+
30+
## Development
31+
32+
### Prerequisites
33+
34+
- Node.js 18+
35+
- npm 9+
36+
37+
### Setup
38+
39+
```bash
40+
cd website
41+
npm install
42+
npm run dev
43+
```
44+
45+
### Build
46+
47+
```bash
48+
npm run build
49+
```
50+
51+
### Preview Production Build
52+
53+
```bash
54+
npm run preview
55+
```
56+
57+
## Deployment to GitHub Pages
58+
59+
### Option 1: Automatic Deployment (Recommended)
60+
61+
The website is automatically deployed when changes are pushed to the `web` branch.
62+
63+
1. **Create the `web` branch** (if not exists):
64+
```bash
65+
git checkout -b web
66+
git push origin web
67+
```
68+
69+
2. **Configure GitHub Pages**:
70+
- Go to your repository Settings → Pages
71+
- Under "Build and deployment", select "GitHub Actions" as the source
72+
- The workflow at `.github/workflows/deploy-website.yml` will handle deployment
73+
74+
3. **Push changes to `web` branch**:
75+
```bash
76+
git checkout web
77+
git merge main # or your development branch
78+
git push origin web
79+
```
80+
81+
The website will be available at: `https://<username>.github.io/<repo-name>/`
82+
83+
### Option 2: Manual Deployment
84+
85+
1. Build the website:
86+
```bash
87+
cd website
88+
npm run build
89+
```
90+
91+
2. Deploy the `dist` folder to your hosting provider
92+
93+
### Configuration
94+
95+
The base URL is configured in `vite.config.ts`. Update it if you're deploying to a different path:
96+
97+
```typescript
98+
export default defineConfig({
99+
base: '/your-repo-name/',
100+
// ...
101+
})
102+
```
103+
104+
## Project Structure
105+
106+
```
107+
website/
108+
├── public/ # Static assets
109+
├── src/
110+
│ ├── components/
111+
│ │ ├── common/ # Reusable components
112+
│ │ ├── layout/ # Layout components (Navbar, Footer)
113+
│ │ └── sections/ # Page sections (Hero, Features, etc.)
114+
│ ├── contexts/ # React contexts (Theme)
115+
│ ├── hooks/ # Custom React hooks
116+
│ ├── i18n/
117+
│ │ ├── locales/ # Translation files (en, es, pt)
118+
│ │ └── index.ts # i18n configuration
119+
│ ├── pages/ # Page components
120+
│ ├── services/ # API services
121+
│ ├── styles/ # Global styles
122+
│ ├── App.tsx # Main app component
123+
│ └── main.tsx # Entry point
124+
├── index.html # HTML template
125+
├── package.json
126+
├── tsconfig.json
127+
└── vite.config.ts
128+
```
129+
130+
## Color Palette
131+
132+
Colors extracted from the BridgeX logo:
133+
134+
| Color | Hex | Usage |
135+
|-------|-----|-------|
136+
| Green | `#22c55e` | Primary actions, success states |
137+
| Yellow | `#eab308` | Secondary actions, warnings |
138+
| Red | `#ef4444` | Accent, errors, important notices |
139+
140+
## Translations
141+
142+
To add a new language:
143+
144+
1. Create a new file in `src/i18n/locales/` (e.g., `fr.json`)
145+
2. Copy the structure from `en.json`
146+
3. Translate all values
147+
4. Add the language to `src/i18n/index.ts`:
148+
```typescript
149+
import fr from './locales/fr.json';
150+
151+
const resources = {
152+
// ...
153+
fr: { translation: fr }
154+
};
155+
```
156+
5. Add the language option to `src/components/layout/Navbar.tsx`
157+
158+
## License
159+
160+
MIT License - © 2025 Dev2Forge

website/eslint.config.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import js from '@eslint/js'
2+
import globals from 'globals'
3+
import reactHooks from 'eslint-plugin-react-hooks'
4+
import reactRefresh from 'eslint-plugin-react-refresh'
5+
import tseslint from 'typescript-eslint'
6+
7+
export default [
8+
{ ignores: ['dist'] },
9+
js.configs.recommended,
10+
...tseslint.configs.recommended,
11+
{
12+
files: ['**/*.{ts,tsx}'],
13+
plugins: {
14+
'react-hooks': reactHooks,
15+
'react-refresh': reactRefresh,
16+
},
17+
rules: {
18+
...reactHooks.configs.recommended.rules,
19+
'react-refresh/only-export-components': [
20+
'warn',
21+
{ allowConstantExport: true },
22+
],
23+
},
24+
languageOptions: {
25+
ecmaVersion: 2020,
26+
globals: globals.browser,
27+
},
28+
},
29+
]

website/index.html

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<link rel="icon" type="image/webp" href="https://cdn.jsdelivr.net/gh/tutosrive/images-projects-srm-trg@main/dev2forge/logos/bridgex-v0.1.0.webp" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<meta name="description" content="BridgeX - An open-source graphical interface for converting files to Markdown, built in Python with PySide6. Convert PDF, DOCX, PPTX, XLSX, HTML, ePub, and many more formats to Markdown." />
8+
<meta name="keywords" content="bridgex, markdown, converter, pdf to markdown, docx to markdown, file converter, pyside6, markitdown, open source" />
9+
<meta name="author" content="Dev2Forge" />
10+
<meta property="og:title" content="BridgeX - Your Bridge to Markdown" />
11+
<meta property="og:description" content="An open-source graphical interface for converting files to Markdown." />
12+
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/tutosrive/images-projects-srm-trg@main/dev2forge/logos/bridgex-v0.1.0.webp" />
13+
<meta property="og:type" content="website" />
14+
<meta name="twitter:card" content="summary_large_image" />
15+
<link rel="preconnect" href="https://fonts.googleapis.com">
16+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
17+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
18+
<title>BridgeX - Your Bridge to Markdown</title>
19+
</head>
20+
<body>
21+
<div id="root"></div>
22+
<script type="module" src="/src/main.tsx"></script>
23+
</body>
24+
</html>

0 commit comments

Comments
 (0)