---
title: Referință API TypeScript & Specificații
description: Catalog complet al API-urilor tipizate, semnături de metode, tabele de parametri și tipuri returnate pentru VertiWiki.
tags: [vertiwiki, api, referinta, typescript, tipuri, interfete, romana]
---

# Referință API TypeScript

> For the complete documentation index and agent navigation, see [llms.txt](/llms.txt).

Acest document oferă specificații 100% extrase prin AST pentru clasele, funcțiile și interfețele publice din nucleul VertiWiki.

---

## 🧭 Subsistemul Router (`src/core/router.ts`)

### `normalizePath(path: string): string`
Normalizează căile fișierelor convertind backslash-urile în forward slash-uri, eliminând slash-urile redundante și rezolvând segmentele `.` și `..`.

```typescript
export function normalizePath(path: string): string;
```

#### Parametri:
| Parametru | Tip | Necesar | Descriere |
| :--- | :--- | :--- | :--- |
| `path` | `string` | Da | Calea brută a fișierului sau URL-ului de normalizat. |

#### Returnează:
`string` — Cale curată fără slash inițial sau prefixe `./`.

---

### `getBaseDirectory(): string`
Determină directorul canonic de bază pentru instanța curentă, gestionând găzduirea în subdirectoare și lipsa slash-ului final.

```typescript
export function getBaseDirectory(): string;
```

#### Returnează:
`string` — Calea de bază terminată cu slash (ex: `'/'` sau `'/docs/'`).

---

### `resolveResourceUrl(relativePath: string): string`
Rezolvă căile resurselor statice și documentelor Markdown în raport cu directorul de bază detectat.

```typescript
export function resolveResourceUrl(relativePath: string): string;
```

---

## 🔌 Subsistemul Pipeline (`src/core/pipeline.ts`)

### `class Pipeline`
Magistrala centrală de execuție care coordonează middleware-urile de plugin.

```typescript
export class Pipeline {
  public registerPlugin(plugin: VertiWikiPlugin): void;
  public runBeforeParse(markdown: string, context: PluginContext): Promise<string>;
  public runAfterParse(html: string, context: PluginContext): Promise<string>;
  public runAfterRender(context: PluginContext): Promise<void>;
}
```

#### Interfețe Context Nucleu:
```typescript
export interface PluginContext {
  filePath: string;
  config: VertiWikiConfig;
  container: HTMLElement;
  rawMarkdown?: string;
}

export interface RenderContext {
  currentPath: string;
  rawMarkdown: string;
  htmlContent: string;
  config: VertiWikiConfig;
}
```

---

## 📝 Subsistemul Parser Markdown (`src/core/parser.ts`)

### `parseFrontmatter(markdown: string)`
Extrage perechile cheie-valoare YAML frontmatter de la începutul textului Markdown.

```typescript
export function parseFrontmatter(markdown: string): { 
  frontmatter: Record<string, string>; 
  body: string 
};
```

---

### `cleanTitle(raw: string): string`
Igienizează titlurile documentelor eliminând etichetele HTML, directivele de badge (`:badge[...]`) și caracterele de formatare.

```typescript
export function cleanTitle(raw: string): string;
```

---

### `slugify(text: string): string`
Generează ancore URL curate și fără coliziuni din textul antetelor.

```typescript
export function slugify(text: string): string;
```

---

## 🎨 Managerul de Teme (`src/ui/theme.ts`)

### `class ThemeManager`
Coordonează preseturile de teme, variabilele CSS și comutarea între modul luminos și întunecat.

```typescript
export class ThemeManager {
  constructor(
    defaultMode?: 'auto' | 'light' | 'dark',
    defaultPreset?: string,
    customThemes?: (ThemePreset | CustomThemeDefinition)[],
    enableThemeChooser?: boolean
  );
  public setMode(mode: 'auto' | 'light' | 'dark'): void;
  public setPreset(presetId: string): void;
  public registerTheme(theme: ThemePreset | CustomThemeDefinition): ThemePreset;
  public getThemes(): ThemePreset[];
}
```

---

## 🔍 Motorul de Căutare (`src/plugins/search.ts`)

### `class SearchEngine`
Încapsulează MiniSearch pentru căutare full-text pe client și extragere de fragmente relevante.

```typescript
export class SearchEngine {
  public addDocument(doc: SearchDocument): void;
  public search(query: string, options?: { locale?: string }): SearchResultItem[];
  public clear(): void;
}
```
