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 .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ node_modules/

# WebAssembly generated files
pkg/
dist/

# IDE files
.vscode/
Expand Down
1 change: 0 additions & 1 deletion CNAME

This file was deleted.

3 changes: 3 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ leptos_meta = { version = "0.6", features = ["csr"] }
leptos_router = { version = "0.6", features = ["csr"] }
wasm-bindgen = "0.2"
console_error_panic_hook = "0.1"
pulldown-cmark = "0.11"
serde = { version = "1.0", features = ["derive"] }
chrono = { version = "0.4", features = ["serde"] }

[dependencies.web-sys]
version = "0.3"
Expand Down
310 changes: 254 additions & 56 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,90 +1,288 @@
# AtomicIncrement Landing Page

A modern landing page built with Rust and Leptos featuring a responsive design inspired by the Fledgio website.
[![Build Status](https://img.shields.io/badge/build-passing-brightgreen)](https://github.com/gaveesh89/landing-page_GJ)
[![Rust](https://img.shields.io/badge/rust-1.70+-orange.svg)](https://www.rust-lang.org)
[![Leptos](https://img.shields.io/badge/leptos-0.6+-blue.svg)](https://leptos.dev)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## Features
A modern, high-performance landing page and blog system built with Rust and Leptos, featuring a complete case studies section, responsive design, and professional styling.

- **Modern Navigation**: Responsive menu bar with mobile support
- **Hero Section**: Engaging introduction with call-to-action buttons
- **Features Grid**: Highlighting key differentiators and capabilities
## πŸš€ Live Demo

- **Website**: [http://127.0.0.1:8080](http://127.0.0.1:8080) (development)
- **Blog**: [http://127.0.0.1:8080/blog](http://127.0.0.1:8080/blog)
- **About Page**: [http://127.0.0.1:8080/about](http://127.0.0.1:8080/about)
- **Engagement Form**: [http://127.0.0.1:8080/engagement](http://127.0.0.1:8080/engagement)

## ✨ Features

### 🌐 **Landing Page**
- **Modern Navigation**: Responsive menu bar with mobile hamburger menu
- **Hero Section**: Engaging introduction with technical visualization
- **Features Grid**: Highlighting key differentiators and capabilities with unified CTAs
- **Core Capabilities**: Technical expertise showcase with visual indicators
- **Testimonials**: Customer feedback and success stories
- **Contact Section**: Multiple ways to get in touch
- **Responsive Design**: Works perfectly on desktop and mobile devices
- **Recent Projects**: Horizontal scrolling project showcase
- **About Founder**: Dedicated about page with professional information
- **Contact Section**: Professional contact form and information
- **Engagement Form**: Comprehensive project initiation with architectural review process
- **Unified CTA Flow**: All service inquiries funnel to professional engagement form
- **Responsive Design**: Optimized for desktop, tablet, and mobile devices

## Technology Stack
### 🎯 **Professional Engagement System**
- **Project Parameters**: Comprehensive form for technical requirements
- **Budget & Timeline**: Structured ranges for project planning
- **Technical Assessment**: Current stack and infrastructure evaluation
- **Success Metrics**: KPI definition and measurement criteria
- **Architectural Review**: 48-hour professional project assessment
- **Clear Process**: Transparent next steps and consultation workflow

- **Rust**: System programming language for performance and safety
- **Leptos**: Modern reactive web framework for Rust
- **Tailwind CSS**: Utility-first CSS framework for styling
- **WebAssembly**: For running Rust code in the browser
### 🎯 **Call-to-Action Flow**
- **Hero Banner**: "Start Your Project" β†’ `/engagement`
- **Header**: "Get Started" β†’ `/engagement`
- **Areas of Expertise**: All 3 CTAs ("Learn More", "Get Consulting", "Start Project") β†’ `/engagement`
- **Founder Story**: "Learn Our Story" β†’ `/about`
- **Footer**: "Start a Project" β†’ `#contact`

## Development Setup
### 🧭 **Navigation Structure**
- **Home**: Main landing page with all sections
- **Services**: Scrolls to "Areas of Expertise" section on homepage
- **About**: Dedicated founder and company information page
- **Blog**: Internal blog system with technical posts and tutorials
- **Contact**: Direct link to contact section
- **Engagement**: Professional project initiation form with architectural review

### Prerequisites
### πŸ“ **Blog System**
- **Markdown Support**: Full markdown parsing with frontmatter
- **Professional Styling**: Dark theme with purple accents and hover effects
- **Technical Content**: 4 comprehensive case studies and tutorials
- **SEO Optimized**: Proper meta tags, excerpts, and structured content
- **Responsive Reading**: Optimized typography and spacing for readability
- **Code Highlighting**: Syntax highlighting for code blocks
- **Navigation Integration**: Seamless integration with main site navigation

1. Install Rust: https://rustup.rs/
2. Install `wasm-pack`:
```bash
cargo install wasm-pack
```
3. Install a local development server (like `basic-http-server`):
### 🎨 **Design & Performance**
- **Dark Theme**: Professional dark design with gradient backgrounds
- **Smooth Animations**: Hover effects, transitions, and micro-interactions
- **Performance Optimized**: WebAssembly for near-native performance
- **Accessibility**: WCAG compliant with proper ARIA labels and keyboard navigation
- **Mobile First**: Responsive design that works perfectly on all devices

## πŸ› οΈ Technology Stack

- **[Rust](https://www.rust-lang.org/)**: Systems programming language for performance and safety
- **[Leptos](https://leptos.dev/)**: Modern reactive web framework for Rust
- **[Trunk](https://trunkrs.dev/)**: Rust web application bundler
- **[Tailwind CSS](https://tailwindcss.com/)**: Utility-first CSS framework
- **[WebAssembly](https://webassembly.org/)**: For running Rust code in the browser
- **[pulldown-cmark](https://github.com/raphlinus/pulldown-cmark)**: Markdown parser for blog content
- **[serde](https://serde.rs/)**: Serialization framework for data handling
- **[chrono](https://github.com/chronotope/chrono)**: Date and time library

## πŸ“‹ Prerequisites

- **Rust**: Install from [rustup.rs](https://rustup.rs/)
- **Trunk**: Web application bundler for Rust
```bash
cargo install trunk
```
- **wasm32 target**: WebAssembly compilation target
```bash
rustup target add wasm32-unknown-unknown
```

## πŸš€ Quick Start

1. **Clone the repository**:
```bash
cargo install basic-http-server
git clone https://github.com/gaveesh89/landing-page_GJ.git
cd landing-page_GJ
```

### Build and Run

1. Build the WebAssembly package:
2. **Install dependencies and build**:
```bash
wasm-pack build --target web --out-dir pkg
cargo build
```

2. Start a local development server:
3. **Start development server**:
```bash
basic-http-server .
trunk serve
```

3. Open your browser and navigate to `http://localhost:4000`
4. **Open in browser**: Navigate to [http://localhost:8080](http://localhost:8080)

## Project Structure
## πŸ“ Project Structure

```
β”œβ”€β”€ src/
β”‚ β”œβ”€β”€ lib.rs # Main application entry point
β”‚ └── components/
β”‚ β”œβ”€β”€ mod.rs # Component module exports
β”‚ β”œβ”€β”€ header.rs # Navigation header component
β”‚ β”œβ”€β”€ hero.rs # Hero section component
β”‚ β”œβ”€β”€ features.rs # Features grid component
β”‚ β”œβ”€β”€ testimonials.rs # Testimonials section component
β”‚ β”œβ”€β”€ contact.rs # Contact section component
β”‚ └── footer.rs # Footer component
β”œβ”€β”€ index.html # Main HTML file
β”œβ”€β”€ Cargo.toml # Rust project configuration
└── README.md # This file
landing-page_GJ/
β”œβ”€β”€ πŸ“ src/
β”‚ β”œβ”€β”€ πŸ“„ lib.rs # Main application entry point
β”‚ β”œβ”€β”€ πŸ“„ blog.rs # Blog system with markdown parsing
β”‚ β”œβ”€β”€ πŸ“ components/ # Reusable UI components
β”‚ β”‚ β”œβ”€β”€ πŸ“„ mod.rs # Component module exports
β”‚ β”‚ β”œβ”€β”€ πŸ“„ header.rs # Navigation header with blog navigation
β”‚ β”‚ β”œβ”€β”€ πŸ“„ hero.rs # Hero section with engagement CTA
β”‚ β”‚ β”œβ”€β”€ πŸ“„ features.rs # Areas of expertise grid
β”‚ β”‚ β”œβ”€β”€ πŸ“„ testimonials.rs # Customer testimonials
β”‚ β”‚ β”œβ”€β”€ πŸ“„ contact.rs # Professional contact form
β”‚ β”‚ └── πŸ“„ footer.rs # Footer with social links
β”‚ └── πŸ“ pages/ # Page components
β”‚ β”œβ”€β”€ πŸ“„ mod.rs # Page module exports
β”‚ β”œβ”€β”€ πŸ“„ about.rs # About founder page
β”‚ β”œβ”€β”€ πŸ“„ engagement.rs # Professional engagement form
β”‚ └── πŸ“„ blog.rs # Blog list and post pages
β”œβ”€β”€ πŸ“ content/
β”‚ └── πŸ“ posts/ # Blog post markdown files
β”‚ β”œβ”€β”€ πŸ“„ hello-world.md # Welcome post
β”‚ β”œβ”€β”€ πŸ“„ getting-started.md # Systems programming guide
β”‚ β”œβ”€β”€ πŸ“„ rust-tips.md # Performance optimization tips
β”‚ └── πŸ“„ What is an atomic increment.md # Company story
β”œβ”€β”€ πŸ“„ index.html # Main HTML with blog CSS styling
β”œβ”€β”€ πŸ“„ Cargo.toml # Rust dependencies and configuration
β”œβ”€β”€ πŸ“„ README.md # This documentation
└── πŸ“ dist/ # Built WebAssembly and assets
```

## Customization
## πŸ“ Blog Content Management

### Adding New Blog Posts

1. **Create a new markdown file** in `content/posts/`:
```markdown
---
title: "Your Post Title"
date: "2024-11-08"
excerpt: "Brief description of your post"
---

# Your Post Content

Write your content here using markdown...
```

2. **Update `src/blog.rs`** to include the new post:
```rust
// Add to get_all_posts() function
let your_post_content = include_str!("../content/posts/your-post.md");
posts.push(parse_post("your-post-slug", your_post_content));
```

3. **The post will be available** at `/blog/your-post-slug`

The landing page is designed to be easily customizable:
### Blog Features
- **Frontmatter Support**: YAML frontmatter for metadata
- **Markdown Parsing**: Full CommonMark support with code highlighting
- **Automatic Sorting**: Posts sorted by date (newest first)
- **SEO Friendly**: Proper excerpts and meta information
- **Responsive Design**: Optimized reading experience

1. **Company Information**: Update company name, logo, and contact details in the components
2. **Content**: Modify text content in each component file
3. **Styling**: Adjust Tailwind CSS classes for different colors, layouts, or animations
4. **Features**: Add or remove feature cards in the features section
5. **Testimonials**: Update customer testimonials with real feedback
## πŸ§ͺ Testing

## Deployment
Run the test suite:
```bash
cargo test
```

For production deployment:
Key test coverage:
- βœ… Blog post parsing and frontmatter extraction
- βœ… Markdown to HTML conversion
- βœ… Post retrieval by slug
- βœ… All posts loading (currently 4 posts)

1. Build the optimized WebAssembly package:
## πŸ—οΈ Building for Production

1. **Optimize build**:
```bash
wasm-pack build --target web --out-dir pkg --release
trunk build --release
```

2. Deploy the generated files (index.html, pkg/ directory) to your web server
2. **Deploy the `dist/` folder** to your web server

3. **Environment variables** (optional):
```bash
export RUSTFLAGS="-C target-cpu=native"
```

## 🎨 Customization Guide

### **Styling**
- **Colors**: Modify CSS variables in `index.html`
- **Layout**: Adjust Tailwind classes in components
- **Blog Styling**: Update blog-specific CSS classes

### **Content**
- **Company Info**: Update in `src/components/`
- **Blog Posts**: Add new markdown files in `content/posts/`
- **Navigation**: Modify links in `header.rs` and `footer.rs`

### **Features**
- **Add Components**: Create new components in `src/components/`
- **Routing**: Add new routes in `src/lib.rs`
- **Pages**: Create new pages in `src/pages/`

## 🌐 Deployment Options

### **Static Hosting**
- GitHub Pages
- Netlify
- Vercel
- AWS S3 + CloudFront

### **Server Deployment**
- Any static file server (nginx, Apache)
- CDN for optimal performance

## 🀝 Contributing

1. Fork the repository
2. Create a feature branch: `git checkout -b feature/amazing-feature`
3. Commit your changes: `git commit -m 'Add amazing feature'`
4. Push to the branch: `git push origin feature/amazing-feature`
5. Open a Pull Request

## πŸ“‹ Recent Updates

### **v1.2.1** - November 8, 2025
- βœ… **Unified CTA Flow**: All Areas of Expertise CTAs now lead to engagement form
- βœ… **Professional Funnel**: "Learn More", "Get Consulting", "Start Project" β†’ `/engagement`
- βœ… **Founder Story Fix**: "Learn Our Story" now correctly links to `/about` page
- βœ… **Consistent Experience**: Single entry point for all service inquiries
- βœ… **Documentation**: Updated README with comprehensive CTA flow mapping

### **v1.2.0** - November 8, 2025
- βœ… **Engagement Form**: Professional project initiation form with comprehensive parameters
- βœ… **Enhanced CTA**: Hero banner and header buttons now lead to engagement form
- βœ… **Services Navigation**: Updated to scroll directly to "Areas of Expertise" section
- βœ… **Blog Terminology**: Consistent "Blog" terminology across header and footer
- βœ… **Footer Cleanup**: Removed external blog link, streamlined navigation
- βœ… **Professional Workflow**: Clear engagement process with architectural review

### **v1.1.0** - November 8, 2025
- βœ… **Navigation Simplified**: Removed external "Blog" link from header navigation
- βœ… **Case Studies Focus**: "Case Studies" tab now exclusively points to internal blog system
- βœ… **Mobile Navigation**: Updated mobile menu to match desktop navigation changes
- βœ… **Documentation**: Updated README with current navigation structure
- βœ… **Performance**: Cleaner navigation reduces external dependencies

### **v1.0.0** - November 8, 2025
- βœ… **Complete Blog System**: Full markdown parsing with frontmatter support
- βœ… **Professional Styling**: Dark theme with responsive design
- βœ… **4 Technical Posts**: Comprehensive case studies and tutorials
- βœ… **Routing System**: Integrated blog routes with main application
- βœ… **SEO Optimization**: Proper meta tags and structured content

## οΏ½πŸ“„ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## πŸ”— Links

- **Company**: [Atomic Increment Ltd](https://atomicincrement.com)
- **Blog**: [Technical Blog](https://atomicincrement.github.io/)
- **LinkedIn**: [Company Page](https://www.linkedin.com/company/atomic-increment-limited/)
- **GitHub**: [@atomicincrement](https://github.com/atomicincrement)
- **Twitter/X**: [@quaternioso](https://x.com/quaternioso)

## License
---

This project is open source and available under the MIT License.
Built with ❀️ using Rust and Leptos by [Atomic Increment](https://atomicincrement.com)
Loading