Skip to content

API Reference

The HTML library provides the following core components:

ComponentDescriptionDocs
Package functionsConvenience functions, suited for one-off callsPackage Functions
ProcessorProcessor instance, reusing resources and cacheProcessor
ConfigConfiguration struct and presetsConfig
Output FormatsMarkdown and JSON outputOutput Formats
Link ExtractionStandalone link extraction APILink Extraction
Batch ProcessingConcurrent batch extractionBatch Processing
InterfacesExtractor, StatsProvider, etc.Interface Definitions
TypesResult, ImageInfo, etc.Type Definitions
Constants & ErrorsDefaults, sentinel errorsConstants & Errors
SecuritySanitization, input limits, path safetySecurity
Audit SystemAudit pipeline and SinksAudit System

API Overview

Two Calling Modes

text
┌─────────────────────────────────────────┐
│      Package functions (convenience)    │
│  html.Extract(data) → *Result, error    │
│  Reuses Processor via sync.Pool         │
└─────────────────────────────────────────┘

┌─────────────────────────────────────────┐
│      Processor (instance mode)          │
│  p, _ := html.New(cfg)                  │
│  defer p.Close()                        │
│  result, err := p.Extract(data)         │
│  ✓ cache reuse  ✓ stats  ✓ audit log    │
└─────────────────────────────────────────┘

Function Naming Rules

PatternNamingExample
BaseExtract*Extract, ExtractText
From fileExtract*FromFileExtractFromFile
With contextExtract*WithContextExtractWithContext
From file + contextExtract*FromFileWithContextExtractFromFileWithContext

Module Information

  • Module path: github.com/cybergodev/html
  • Go version: 1.25+
  • Dependencies: golang.org/x/net, golang.org/x/text

Core Type Quick Reference

TypeDescriptionDocs
ResultExtraction result (text, title, images, links, statistics)Type Definitions
ConfigUnified config struct and presetsConfig
ProcessorCore processing engine with caching and statisticsProcessor
StatisticsProcessing statistics (hits, errors, average time)Type Definitions
BatchResultBatch extraction resultBatch Processing
LinkResourceLink resource (with type classification)Link Extraction
AuditEntryAudit log entryAudit System

Interface Quick Reference

InterfaceDescriptionDocs
ExtractorMain extraction interface, for decoupling and mockingInterface Definitions
StatsProviderStatistics query interfaceInterface Definitions
ScorerCustom content scoring algorithmInterface Definitions
ContentNodeNode abstraction, hiding the internal parser typeInterface Definitions
AuditSinkAudit log output target (custom backend)Interface Definitions

Preset Configurations

Start from a preset and fine-tune as needed; avoid hand-writing zero-value configs (the Config zero value is not directly usable):

PresetPurpose
DefaultConfig()General scenarios, balancing features and performance
TextOnlyConfig()Extract plain text only, disable all media, highest performance
MarkdownConfig()Output inline Markdown-format images and links
HighSecurityConfig()High-security environments: tighter limits, shorter timeouts, audit enabled

See Config for details.

Find an API by Scenario

Common needs and their entry points:

NeedRecommended APIDocs
Plain text onlyExtractText / Processor.ExtractTextPackage Functions
Markdown outputExtractToMarkdown or MarkdownConfig()Output Formats
Extract all link resourcesExtractAllLinksLink Extraction
Concurrent batch processingExtractBatch / ExtractBatchFilesBatch Processing
Custom content identificationScorer interface + Config.ScorerInterface Definitions
Audit security eventsAuditConfig + AuditSinkAudit System
High-frequency reuse + cachehtml.New() long-lived ProcessorProcessor