빠른 시작

Gukhanmun의 Rust API는 Builder/Converter 쌍을 중심으로 구성됩니다. Builder는 옵션을 모으고; ConverterBuilder::build()가 만들어 내는 불변의 런타임입니다.

최소 예시

use gukhanmun::{Builder, Preset};

fn main() -> gukhanmun::Result<()> {
    let converter = Builder::with_preset(Preset::KoKr).build()?;
    let output = converter.convert_text_to_string("漢字를 한글로")?;
    println!("{output}");  // 한자를 한글로
    Ok(())
}

Builder 패턴

Builder는 유창한 경계면을 사용합니다. 모든 setter가 &mut Self를 반환하므로 호출을 연쇄할 수 있습니다:

use gukhanmun::{Builder, Preset, RenderMode, NumeralStrategy};

let converter = Builder::with_preset(Preset::KoKr)
    .rendering(RenderMode::HangulHanjaParens)
    .numerals(NumeralStrategy::Smart)
    .build()?;

Builder::new()는 프리셋이 적용되지 않은 빌더를 만듭니다(모든 옵션이 각자의 기본값). Builder::with_preset(preset)은 먼저 프리셋을 적용한 뒤 개별 옵션을 덮어쓸 수 있게 합니다.

다른 형식들의 변환

Converter는 지원하는 각 형식마다 변환 메서드를 가집니다:

// 純粹 텍스트
let text = converter.convert_text_to_string("漢字를 한글로")?;

// HTML 斷片 (`html` 피처 必要)
let html = converter.convert_html_fragment_to_string("<p>漢字</p>")?;

// Markdown (`markdown` 피처 必要)
use gukhanmun::MarkdownVariant;
let md = converter.convert_markdown_to_string("# 漢字", MarkdownVariant::CommonMark)?;

모든 메서드는 Result<String, gukhanmun::Error>를 반환합니다.