Marketing website and web presence for the Pointer development suite. Built with Next.js, TypeScript, and Tailwind CSS for a modern, responsive, and fast experience.
- Responsive Design - Mobile-first approach with perfect desktop experience
- Fast Performance - Optimized with Next.js for lightning-fast loading
- SEO Optimized - Built-in SEO optimization and meta tags
- Modern UI - Clean, professional design with Tailwind CSS
- Landing Page - Showcase Pointer suite features and benefits
- Documentation - Comprehensive guides and API documentation
- Download Section - Links to desktop app downloads
- Community Links - Discord, GitHub, and social media integration
- Static Site Generation - Pre-rendered pages for optimal performance
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first CSS framework
- Component Architecture - Reusable, maintainable components
- Node.js (v18 or higher)
- npm or yarn
-
Navigate to Website Directory
cd Website/pointer-website -
Install Dependencies
npm install # or yarn install -
Start Development Server
npm run dev # or yarn dev -
View Website Open http://localhost:3000 in your browser
# Build for production
npm run build
# or
yarn build
# Start production server
npm run start
# or
yarn start
# Export static site
npm run export
# or
yarn exportUse the Python static server for simple deployment:
# Navigate to Website directory
cd Website
# Build the site first
cd pointer-website && npm run build && cd ..
# Serve static files
python web.pyThe site will be available at http://localhost:5000
Use the provided build script:
# Make executable (Linux/macOS)
chmod +x build.sh
# Run build
./build.shWebsite/
βββ pointer-website/ # Next.js application
β βββ src/ # Source code
β β βββ app/ # Next.js app directory
β β β βββ page.tsx # Landing page
β β β βββ layout.tsx # Root layout
β β β βββ globals.css # Global styles
β β β βββ download/ # Download page
β β β βββ docs/ # Documentation pages
β β β βββ about/ # About page
β β βββ components/ # Reusable components
β β β βββ Header.tsx # Site header
β β β βββ Footer.tsx # Site footer
β β β βββ Hero.tsx # Hero section
β β β βββ Features.tsx # Features showcase
β β βββ lib/ # Utility functions
β βββ public/ # Static assets
β β βββ images/ # Image assets
β β βββ icons/ # Icon files
β β βββ favicon.ico # Site favicon
β βββ styles/ # Additional styles
β βββ next.config.ts # Next.js configuration
β βββ tailwind.config.ts # Tailwind configuration
β βββ package.json # Dependencies
β βββ README.md # Next.js default README
βββ web.py # Python static server
βββ build.sh # Build automation script
βββ README.md # This file
Edit pointer-website/next.config.ts:
/** @type {import('next').NextConfig} */
const nextConfig = {
output: 'export',
trailingSlash: true,
images: {
unoptimized: true
}
}
module.exports = nextConfigCustomize styling in pointer-website/tailwind.config.ts:
import type { Config } from 'tailwindcss'
const config: Config = {
content: [
'./src/pages/**/*.{js,ts,jsx,tsx,mdx}',
'./src/components/**/*.{js,ts,jsx,tsx,mdx}',
'./src/app/**/*.{js,ts,jsx,tsx,mdx}',
],
theme: {
extend: {
colors: {
primary: '#your-primary-color',
secondary: '#your-secondary-color',
}
},
},
plugins: [],
}Create .env.local for environment-specific settings:
# Site configuration
NEXT_PUBLIC_SITE_URL=https://pointer.f1shy312.com
NEXT_PUBLIC_DISCORD_INVITE=https://discord.gg/vhgc8THmNk
NEXT_PUBLIC_GITHUB_URL=https://github.com/PointerIDE/Pointer
# Analytics (optional)
NEXT_PUBLIC_GA_ID=your-google-analytics-id- Create page file in
src/app/ - Add navigation to header component
- Update sitemap if needed
Example new page:
// src/app/features/page.tsx
export default function FeaturesPage() {
return (
<div>
<h1>Features</h1>
<p>Detailed feature descriptions...</p>
</div>
)
}// src/components/NewComponent.tsx
interface Props {
title: string;
description: string;
}
export default function NewComponent({ title, description }: Props) {
return (
<div className="p-4">
<h2 className="text-2xl font-bold">{title}</h2>
<p className="text-gray-600">{description}</p>
</div>
)
}- Use Tailwind classes for styling
- Follow mobile-first responsive design
- Maintain consistent spacing and typography
- Use semantic HTML elements
- Connect GitHub repository to Vercel
- Configure build settings:
- Build Command:
cd Website/pointer-website && npm run build - Output Directory:
Website/pointer-website/out
- Build Command:
- Deploy automatically on push to main branch
- Connect repository to Netlify
- Set build settings:
- Build command:
cd Website/pointer-website && npm run build && npm run export - Publish directory:
Website/pointer-website/out
- Build command:
# Build and deploy to gh-pages branch
cd pointer-website
npm run build
npm run export
# Deploy to GitHub Pages
npx gh-pages -d outCreate Dockerfile:
FROM node:18-alpine
WORKDIR /app
COPY pointer-website/package*.json ./
RUN npm install
COPY pointer-website/ ./
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]For simple static hosting:
# Build static files
cd pointer-website
npm run build
npm run export
# Upload the 'out' directory to your static host
# (AWS S3, CloudFlare Pages, etc.)Build Failures
# Clear Next.js cache
rm -rf .next
# Clear dependencies
rm -rf node_modules package-lock.json
npm install
# Rebuild
npm run buildDevelopment Server Issues
# Check port availability
lsof -i :3000
# Use different port
PORT=3001 npm run devStatic Export Issues
# Ensure all images are optimized for export
# Check next.config.ts for export settings
# Verify no dynamic routes without static params- Optimize images with Next.js Image component
- Use lazy loading for components below the fold
- Minimize JavaScript bundles with code splitting
- Enable compression on your hosting platform
Add to src/app/layout.tsx:
import { GoogleAnalytics } from '@next/third-parties/google'
export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<html lang="en">
<body>
{children}
<GoogleAnalytics gaId="GA_MEASUREMENT_ID" />
</body>
</html>
)
}// src/app/page.tsx
import type { Metadata } from 'next'
export const metadata: Metadata = {
title: 'Pointer - Modern Code Editor',
description: 'AI-powered code editor with VS Code-like interface',
keywords: 'code editor, AI, development, programming',
openGraph: {
title: 'Pointer Code Editor',
description: 'Modern development suite with AI assistance',
url: 'https://pointer.f1shy312.com',
siteName: 'Pointer',
images: ['/images/og-image.png'],
},
}- Write clear, concise copy that explains features
- Use consistent terminology across pages
- Maintain professional tone while being approachable
- Include call-to-action buttons where appropriate
- Follow established design system
- Maintain consistent spacing using Tailwind utilities
- Ensure accessibility with proper semantic HTML
- Test on multiple devices and screen sizes
- Create feature branch for changes
- Test locally with
npm run dev - Build successfully with
npm run build - Check responsiveness on different screen sizes
- Submit pull request with screenshots
This component is part of the Pointer project, licensed under the MIT License.
- Next.js - React framework for production
- Tailwind CSS - Utility-first CSS framework
- Vercel - Deployment and hosting platform
- TypeScript - Type-safe JavaScript
| Repository | Link |
|---|---|
| Pointer (main IDE) | github.com/PointerIDE/Pointer |
| PointerAssets | github.com/PointerIDE/PointerAssets |
| PointerDeprecated | github.com/PointerIDE/PointerDeprecated |
| PointerDiscordBot | github.com/PointerIDE/PointerDiscordBot |
| PointerWebsite | github.com/PointerIDE/PointerWebsite |
Public site: pointer.f1shy312.com