Skip to content

Commit cca2a18

Browse files
Merge pull request #12 from microsoft/website
Website update
2 parents fbf3fc2 + a7be0f4 commit cca2a18

File tree

143 files changed

+14823
-13
lines changed

Some content is hidden

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

143 files changed

+14823
-13
lines changed

.github/workflows/deploy.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Deploy
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
9+
permissions:
10+
contents: write
11+
pages: write
12+
id-token: write
13+
14+
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
15+
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
16+
concurrency:
17+
group: "pages"
18+
cancel-in-progress: false
19+
20+
jobs:
21+
build:
22+
name: Build
23+
runs-on: ubuntu-latest
24+
25+
steps:
26+
- name: Checkout repo
27+
uses: actions/checkout@v4
28+
29+
- name: Setup Node
30+
uses: actions/setup-node@v4
31+
32+
- name: Clean dist directory
33+
run: rm -rf ./code/dist
34+
35+
- name: Install dependencies
36+
run: npm install
37+
working-directory: ./code
38+
39+
- name: Build project
40+
run: npm run build
41+
working-directory: ./code
42+
43+
- name: Upload production-ready build files
44+
uses: actions/upload-artifact@v4
45+
with:
46+
name: github-pages
47+
path: ./code/dist
48+
49+
deploy:
50+
name: Deploy
51+
needs: build
52+
runs-on: ubuntu-latest
53+
if: github.ref == 'refs/heads/main'
54+
55+
steps:
56+
- name: Download artifact
57+
uses: actions/download-artifact@v4
58+
with:
59+
name: github-pages
60+
path: ./code/dist
61+
62+
- name: Deploy to GitHub Pages
63+
run: |
64+
git config --global user.name "github-actions[bot]"
65+
git config --global user.email "github-actions[bot]@users.noreply.github.com"
66+
git init
67+
git remote add origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git
68+
git fetch origin
69+
git checkout -B gh-pages
70+
mv ./code/dist/* ./ # Move the contents of dist to the root
71+
git add .
72+
git commit -m "Deploy to GitHub Pages"
73+
git push origin gh-pages --force

CNAME

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
accelerators.ms

SUPPORT.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
# Support
2-
3-
## How to file issues and get help
4-
5-
This project uses GitHub Issues to track bugs and feature requests. Please search the existing
6-
issues before filing new issues to avoid duplicates. For new issues, file your bug or
7-
feature request as a new issue.
8-
9-
For help and questions about using this project, you may also file a new issue.
10-
11-
## Microsoft Support Policy
12-
13-
Support for this repository is limited and Microsoft does not guarantee the quality, performance, reliability, or availability of this release or its output, and does not provide any warranty or support for it.
1+
# Support
2+
3+
## How to file issues and get help
4+
5+
This project uses GitHub Issues to track bugs and feature requests. Please search the existing
6+
issues before filing new issues to avoid duplicates. For new issues, file your bug or
7+
feature request as a new issue.
8+
9+
For help and questions about using this project, you may also file a new issue.
10+
11+
## Microsoft Support Policy
12+
13+
Support for this repository is limited and Microsoft does not guarantee the quality, performance, reliability, or availability of this release or its output, and does not provide any warranty or support for it.

code/.github/workflows/deploy.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [ website ]
6+
pull_request:
7+
branches: [ website ]
8+
9+
jobs:
10+
build-and-deploy:
11+
runs-on: ubuntu-latest
12+
13+
permissions:
14+
contents: read
15+
pages: write
16+
id-token: write
17+
18+
steps:
19+
- name: Checkout
20+
uses: actions/checkout@v4
21+
22+
- name: Setup Node.js
23+
uses: actions/setup-node@v4
24+
with:
25+
node-version: '20'
26+
cache: 'npm'
27+
cache-dependency-path: './code/package-lock.json'
28+
29+
- name: Install dependencies
30+
run: |
31+
cd code
32+
npm ci
33+
34+
- name: Build
35+
run: |
36+
cd code
37+
npm run build
38+
39+
- name: Setup Pages
40+
uses: actions/configure-pages@v4
41+
42+
- name: Upload artifact
43+
uses: actions/upload-pages-artifact@v3
44+
with:
45+
path: './code/dist'
46+
47+
- name: Deploy to GitHub Pages
48+
id: deployment
49+
uses: actions/deploy-pages@v4

code/.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?

code/README.SOLUTION.md

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
# CSA Solution Accelerators Landing Page
2+
3+
A modern, responsive React-based landing page showcasing Microsoft's AI Solution Accelerators. Built with React 18, TypeScript, Vite, and Tailwind CSS, this application provides an intuitive interface for exploring and discovering AI accelerators, solution areas, and implementation resources.
4+
5+
## Features
6+
7+
- **Modern UI/UX**: Clean, professional design using Fluent UI components and Tailwind CSS
8+
- **Deep Linking**: Advanced navigation system with URL synchronization and smooth scrolling
9+
- **Search & Filtering**: Real-time search with multi-category filtering capabilities
10+
- **Responsive Design**: Mobile-first approach with touch-friendly interactions
11+
- **Performance Optimized**: Fast loading with code splitting and lazy loading
12+
- **Accessibility**: WCAG 2.1 AA compliant with keyboard navigation support
13+
14+
## Technology Stack
15+
16+
- **Frontend**: React 18 + TypeScript
17+
- **Build Tool**: Vite
18+
- **Styling**: Tailwind CSS + Fluent UI React Components
19+
- **Icons**: Fluent UI React Icons
20+
- **Deployment**: GitHub Pages
21+
- **Data**: Static JSON with dynamic filtering
22+
23+
## Getting Started
24+
25+
### Prerequisites
26+
27+
- Node.js 18+
28+
- npm or yarn package manager
29+
30+
### Installation
31+
32+
1. Clone the repository:
33+
```bash
34+
git clone https://github.com/your-username/csa-sas-ext-landingpage.git
35+
cd csa-sas-ext-landingpage
36+
```
37+
38+
2. Install dependencies:
39+
```bash
40+
npm install
41+
```
42+
43+
### Development
44+
45+
To run the project locally in development mode:
46+
47+
```bash
48+
npm run dev
49+
```
50+
51+
This will start the development server, typically at `http://localhost:5173`. The page will automatically reload when you make changes to the code.
52+
53+
### Building
54+
55+
To build the project for production:
56+
57+
```bash
58+
npm run build
59+
```
60+
61+
This creates an optimized production build in the `dist/` directory.
62+
63+
### Preview Build
64+
65+
To preview the production build locally:
66+
67+
```bash
68+
npm run preview
69+
```
70+
71+
## Live Demo
72+
73+
Access the live version of the application at:
74+
**[https://cuddly-adventure-3j22l89.pages.github.io/](https://cuddly-adventure-3j22l89.pages.github.io/)**
75+
76+
## Project Structure
77+
78+
```
79+
src/
80+
├── components/ # React components
81+
│ ├── Header/ # Navigation and header components
82+
│ ├── HeroSection/ # Main hero section
83+
│ ├── FeaturedSection/ # Featured accelerators showcase
84+
│ ├── DifferentiatorSection/ # Solution differentiators
85+
│ ├── HowItWorksSection/ # Process explanation
86+
│ ├── SuccessStoriesSection/ # Customer success stories
87+
│ ├── Footer/ # Site footer
88+
│ └── shared/ # Reusable component utilities
89+
├── data/ # Static data and generated content
90+
│ ├── cards/ # Individual accelerator JSON files
91+
│ └── generated/ # Build-time generated data
92+
├── hooks/ # Custom React hooks
93+
├── utils/ # Utility functions and helpers
94+
├── types/ # TypeScript type definitions
95+
└── assets/ # Images, icons, and static assets
96+
```
97+
98+
## Key Components
99+
100+
- **GsaCard**: Accelerator card component with hover effects and responsive design
101+
- **Navigation**: Sticky navigation with smooth scrolling and deep linking
102+
- **Search & Filters**: Advanced filtering by categories, solution areas, and technologies
103+
- **Responsive Grid**: Adaptive layout system for different screen sizes
104+
105+
## Development Workflow
106+
107+
1. **Feature Development**: Create feature branches from main
108+
2. **Testing**: Ensure all functionality works across browsers and devices
109+
3. **Code Quality**: Follow TypeScript best practices and component architecture
110+
4. **Performance**: Monitor bundle size and loading performance
111+
5. **Accessibility**: Maintain WCAG compliance standards
112+
113+
## Contributing
114+
115+
116+
117+
For major changes, please open an issue first to discuss the proposed changes.
118+
119+
## License
120+
121+
This project is licensed under the MIT License - see the LICENSE file for details.
122+
123+
## Support
124+
125+
For questions or support, please:
126+
- Open an issue on GitHub
127+
- Contact the development team
128+
- Check the documentation in the `/docs` folder
129+
130+
---
131+
132+
**Built with ❤️ by the Microsoft AI Solution Accelerators team**

code/README.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# React + TypeScript + Vite
2+
3+
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4+
5+
Currently, two official plugins are available:
6+
7+
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh
8+
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
9+
10+
## Expanding the ESLint configuration
11+
12+
If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
13+
14+
```js
15+
export default tseslint.config([
16+
globalIgnores(['dist']),
17+
{
18+
files: ['**/*.{ts,tsx}'],
19+
extends: [
20+
// Other configs...
21+
22+
// Remove tseslint.configs.recommended and replace with this
23+
...tseslint.configs.recommendedTypeChecked,
24+
// Alternatively, use this for stricter rules
25+
...tseslint.configs.strictTypeChecked,
26+
// Optionally, add this for stylistic rules
27+
...tseslint.configs.stylisticTypeChecked,
28+
29+
// Other configs...
30+
],
31+
languageOptions: {
32+
parserOptions: {
33+
project: ['./tsconfig.node.json', './tsconfig.app.json'],
34+
tsconfigRootDir: import.meta.dirname,
35+
},
36+
// other options...
37+
},
38+
},
39+
])
40+
```
41+
42+
You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
43+
44+
```js
45+
// eslint.config.js
46+
import reactX from 'eslint-plugin-react-x'
47+
import reactDom from 'eslint-plugin-react-dom'
48+
49+
export default tseslint.config([
50+
globalIgnores(['dist']),
51+
{
52+
files: ['**/*.{ts,tsx}'],
53+
extends: [
54+
// Other configs...
55+
// Enable lint rules for React
56+
reactX.configs['recommended-typescript'],
57+
// Enable lint rules for React DOM
58+
reactDom.configs.recommended,
59+
],
60+
languageOptions: {
61+
parserOptions: {
62+
project: ['./tsconfig.node.json', './tsconfig.app.json'],
63+
tsconfigRootDir: import.meta.dirname,
64+
},
65+
// other options...
66+
},
67+
},
68+
])
69+
```

0 commit comments

Comments
 (0)