Skip to main content

Crate wx_uploader

Crate wx_uploader 

Source
Expand description

WeChat Public Account Markdown Uploader Library

A library for uploading markdown files to WeChat public accounts with automatic cover image generation and frontmatter management.

§Features

  • Upload individual markdown files or process directories recursively
  • Parse and manage YAML frontmatter to track publication status
  • Automatically generate cover images using Gemini (default) or OpenAI
  • Skip already published files in directory processing mode
  • Support for custom themes and code highlighters via frontmatter

§Usage

use wx_uploader::{WxUploader, Config, Result};

#[tokio::main]
async fn main() -> Result<()> {
    let config = Config::from_env()?;
    let uploader = WxUploader::new(config).await?;

    // Upload a single file
    uploader.upload_file("article.md", true).await?;

    // Process a directory
    uploader.process_directory("./articles").await?;

    Ok(())
}

Re-exports§

pub use error::Error;
pub use error::Result;
pub use models::Config;
pub use models::Frontmatter;

Modules§

cli
Command-line interface for the wx-uploader application
error
Error types for the wx-uploader library
gemini
Gemini API integration for cover image generation
markdown
Markdown parsing and formatting utilities
models
Data models and configuration for the wx-uploader library
openai
OpenAI integration for cover image generation
output
Output formatting utilities
wechat
WeChat public account integration

Structs§

WxUploader
Core uploader functionality combining WeChat and image generation clients