Skip to content

Sevichecc/miniflux-js

Repository files navigation

Miniflux.js

Unofficial JavaScript SDK for Miniflux RSS reader.

npm version npm downloads bundle size license

Features

  • 🔄 Full TypeScript support
  • 📚 Complete Miniflux API coverage
  • ✨ Modern ESM package
  • 🧪 Comprehensive test coverage
  • 📖 Detailed documentation

Installation

# Using npm
npm install miniflux-js

# Using yarn
yarn add miniflux-js

# Using pnpm
pnpm add miniflux-js

# Using bun
bun add miniflux-js

Quick Start

import { MinifluxClient } from 'miniflux-js'

// Initialize client with API key
const client = new MinifluxClient({
  baseURL: 'https://your-miniflux-instance.com',
  apiKey: 'your-api-key'
})

// Or initialize with username and password
const client = new MinifluxClient({
  baseURL: 'https://your-miniflux-instance.com',
  username: 'your-username',
  password: 'your-password'
})

// Get user information
const me = await client.getMe()

// Get all feeds
const feeds = await client.getFeeds()

// Get unread entries
const entries = await client.getEntries({
  status: ['unread']
})

API Reference

The SDK provides methods for all Miniflux API endpoints. Here are some commonly used ones:

User Methods

  • getMe(): Get current user information
  • updateUser(userId, changes): Update user settings

Feed Methods

  • getFeeds(): Get all feeds
  • createFeed(feedUrl, categoryId): Add a new feed
  • updateFeed(feedId, changes): Update feed settings
  • refreshFeed(feedId): Refresh a feed
  • deleteFeed(feedId): Delete a feed

Entry Methods

  • getEntries(filter): Get entries with optional filters
  • getEntry(entryId): Get a single entry
  • updateEntryStatus(entryId, status): Update entry status
  • toggleBookmark(entryId): Toggle entry bookmark status

Category Methods

  • getCategories(): Get all categories
  • createCategory(title): Create a new category
  • updateCategory(categoryId, title): Update category
  • deleteCategory(categoryId): Delete category

Utility Methods

  • searchEntries(query, limit?): Search for entries with optional result limit
  • getMinifluxEntryUrl(entryId): Get Miniflux web UI URL for an entry

For complete API documentation, please visit our API Reference.

Development

# Install dependencies
pnpm install

# Run tests
pnpm test

# Build documentation
pnpm build:docs

# Format code
pnpm format

# Lint code
pnpm lint

# Linting fix
pnpm lint:fix

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

License

MIT © Sevi.C