Quick Start
Get your directory website up and running in under 10 minutes! This guide assumes you've already completed the installation.
Step 1: Basic Configuration
Configure Site Settings
Edit .content/config.yml (this file will be created after first sync):
# Basic site settings
company_name: "Your Company"
item_name: "Tool"
items_name: "Tools"
copyright_year: 2024
# Enable features
content_table: true
auth:
credentials: true
google: true
github: true
# Payment settings
payment:
provider: "stripe"
pricing:
free: 0
pro: 10
sponsor: 20
Set Up Data Repository
-
Fork the data repository:
- Visit awesome-data
- Click "Fork" to create your copy
-
Update environment variables:
# In .env.local
DATA_REPOSITORY="https://github.com/YOUR_USERNAME/awesome-data"
GH_TOKEN="your_github_token" -
Generate GitHub token:
- Go to GitHub Settings → Developer settings → Personal access tokens
- Create a token with
repopermissions - Add it to your
.env.local
Step 2: Start the Application
npm run dev
Visit http://localhost:3000 to see your site!
Step 3: Add Your First Item
Method 1: Direct File Edit
- Navigate to your forked data repository
- Create a new file in
items/folder:my-awesome-tool.yml - Add content:
id: "my-awesome-tool"
name: "My Awesome Tool"
slug: "my-awesome-tool"
description: "An amazing tool that does incredible things"
source_url: "https://example.com"
category: "productivity"
tags:
- "productivity"
- "tools"
featured: false
status: "approved"
updated_at: "2024-01-15 10:30"
Method 2: Submission Form
- Visit your site at
http://localhost:3000/submit - Fill out the submission form
- The item will be created as a pull request in your data repository
Step 4: Customize Your Site
Update Branding
- Logo: Replace files in
public/folder - Colors: Edit theme in
.content/config.yml:
theme:
default: "everworks"
custom_colors:
primary: "#3d70ef"
secondary: "#00c853"
- Metadata: Update
app/layout.tsxfor SEO
Configure Categories
Create categories/productivity.yml in your data repository:
id: "productivity"
name: "Productivity"
slug: "productivity"
description: "Tools to boost your productivity"
icon_url: "https://example.com/icon.png"
Step 5: Set Up Authentication (Optional)
Google OAuth
- Go to Google Cloud Console
- Create a new project or select existing
- Enable Google+ API
- Create OAuth 2.0 credentials
- Add to
.env.local:
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
GitHub OAuth
- Go to GitHub Settings → Developer settings → OAuth Apps
- Create a new OAuth App
- Set Authorization callback URL:
http://localhost:3000/api/auth/callback/github - Add to
.env.local:
GITHUB_CLIENT_ID="your-github-client-id"
GITHUB_CLIENT_SECRET="your-github-client-secret"
Step 6: Test Everything
Verify Content Loading
- Check that your items appear on the homepage
- Test category filtering
- Verify search functionality
Test Authentication
- Try signing in with configured providers
- Check user profile creation
- Test admin access (if configured)
Test Submission Flow
- Submit a new item via the form
- Check that it creates a pull request
- Verify email notifications (if configured)
Step 7: Deploy (Optional)
For a quick deployment to Vercel:
-
Connect to Vercel:
npm install -g vercel
vercel -
Set environment variables in Vercel dashboard
-
Update URLs in your OAuth app settings
Common Customizations
Change Item Types
Instead of "tools", you might want "services" or "products":
# In config.yml
item_name: "Service"
items_name: "Services"
Add Custom Fields
Extend item schema in your YAML files:
# In items/example.yml
price: "$9.99"
rating: 4.5
author: "John Doe"
Modify Layouts
The template supports multiple layout types:
- Grid (default)
- Masonry
- Cards
- Classic list
Users can switch between them using the layout toggle.
Next Steps
Now that you have a working site:
- Set up payment processing for premium features
- Configure email notifications
- Set up analytics
- Customize the theme
- Deploy to production