@asgerami/zemenay-blog
Version:
Plug-and-play blog system for Next.js - Get a fully functional blog running in minutes with zero configuration
45 lines (44 loc) • 1.18 kB
TypeScript
import type { BlogAnalytics, PopularPost, EngagementMetrics } from "../types";
export interface ViewTrackingOptions {
trackUniqueViews?: boolean;
sessionDuration?: number;
}
/**
* Track a page view for a blog post
*/
export declare function trackPostView(postId: string, options?: ViewTrackingOptions): Promise<{
success: boolean;
error?: string;
}>;
/**
* Calculate reading time for a blog post
*/
export declare function calculateReadingTime(content: string): number;
/**
* Get analytics data for a specific post
*/
export declare function getPostAnalytics(postId: string): Promise<{
success: boolean;
data?: BlogAnalytics;
error?: string;
}>;
/**
* Get popular posts based on views
*/
export declare function getPopularPosts(limit?: number, timeframe?: "day" | "week" | "month" | "all"): Promise<{
success: boolean;
data?: PopularPost[];
error?: string;
}>;
/**
* Get overall blog analytics
*/
export declare function getBlogAnalytics(): Promise<{
success: boolean;
data?: EngagementMetrics;
error?: string;
}>;
/**
* Track time spent on page
*/
export declare function trackTimeOnPage(postId: string): () => void;