https://github.com/sevi418/miniflux-js
Unofficial JavaScript SDK for Miniflux.
https://github.com/sevi418/miniflux-js
miniflux miniflux-extension miniflux-sdk
Last synced: 4 months ago
JSON representation
Unofficial JavaScript SDK for Miniflux.
- Host: GitHub
- URL: https://github.com/sevi418/miniflux-js
- Owner: sevi418
- License: mit
- Created: 2024-10-17T10:31:58.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-12-11T02:56:38.000Z (10 months ago)
- Last Synced: 2025-06-08T20:40:18.501Z (4 months ago)
- Topics: miniflux, miniflux-extension, miniflux-sdk
- Language: TypeScript
- Homepage: https://sevichecc.github.io/miniflux-js/
- Size: 11.1 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Miniflux.js
Unofficial JavaScript SDK for [Miniflux](https://miniflux.app) RSS reader.
[](https://npmjs.com/package/miniflux-js)
[](https://npm.chart.dev/miniflux-js)
[](https://bundlephobia.com/package/miniflux-js)
[](https://github.com/Sevichecc/miniflux-js/blob/main/LICENSE)## Features
- ๐ Full TypeScript support
- ๐ Complete Miniflux API coverage
- โจ Modern ESM package
- ๐งช Comprehensive test coverage
- ๐ Detailed documentation## Installation
```bash
# 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
```typescript
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 entryFor complete API documentation, please visit our [API Reference](https://sevichecc.github.io/miniflux-js/).
## Development
```bash
# 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](LICENSE) ยฉ Sevi.C