npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@earthcompatible/node-red-contrib-workspace-vikunja

v1.0.3

Published

Node-RED node to display and manage Vikunja tasks on the workspace canvas

Downloads

311

Readme

Node-RED Vikunja Tasks

A Node-RED node to display and manage Vikunja tasks directly on the workspace canvas.

Node-RED License: MIT

Vikunja Tasks

Features

  • 📋 Display Tasks: Show Vikunja tasks directly on your Node-RED workspace
  • Toggle Completion: Click the checkmark to toggle task completion status
  • Add Tasks: Create new tasks directly from the workspace
  • ✏️ Edit Tasks: Modify task titles on the fly
  • Delete Tasks: Remove tasks with a confirmation dialog
  • 📝 Collapsible Descriptions: Click task titles to expand/collapse descriptions with HTML rendering
  • 🌐 Show on All Flows: Option to display tasks on every flow in the workspace
  • 🔄 Auto-Refresh: Configurable refresh interval for automatic updates
  • 🎯 Draggable: Move the task container to reposition it on the workspace
  • 🎨 Modern UI: Clean, collapsible interface with smooth animations

Installation

Via Node-RED Palette Manager

  1. Open Node-RED
  2. Go to Menu → Manage Palette
  3. Search for "node-red-contrib-workspace-vikunja"
  4. Click "Install"

Via npm

cd ~/.node-red
npm install node-red-contrib-workspace-vikunja

From GitHub

cd ~/.node-red
npm install https://github.com/blaxer/node-red-contrib-workspace-vikunja.git

Configuration

The node requires the following configuration parameters:

| Parameter | Description | |-----------|-------------| | Name | Optional display name for the node | | URL | Your Vikunja server URL (e.g., https://try.vikunja.io) | | Project ID | ID of the Vikunja project to display tasks from | | API Token | Your Vikunja API token (create in Vikunja Settings → API Tokens) | | Show Completed | Toggle to show/hide completed tasks | | Show on all flows | Display tasks on every flow (not just the node's flow) | | Refresh | Auto-refresh interval in minutes (0 = disabled) | | X Position | X coordinate for task container position | | Y Position | Y coordinate for task container position | | Title Width | Width of the task title column in pixels |

Getting Your API Token

  1. Log in to your Vikunja instance
  2. Go to Settings → API Tokens
  3. Click "Create a new token"
  4. Copy the token and use it in the node configuration

Usage

Adding the Node

  1. Drag a "Vikunja Tasks" node from the sidebar to your workspace
  2. Double-click to configure with your Vikunja credentials
  3. Deploy the flow

Interacting with Tasks

  • Toggle Completion: Click the ✓ button or the task title
  • Edit Task: Click the ✎ button and enter a new title
  • Delete Task: Click the × button and confirm
  • Expand Description: Click on the task title to show/hide the description
  • Reposition: Click and drag the task container header
  • Collapse/Expand All: Click the arrow button in the header

Task Actions

The node accepts messages via input to perform actions:

| Action | Description | |--------|-------------| | 'refresh' | Force refresh tasks | | { action: 'add', title: '...' } | Add a new task | | { action: 'add', title: '...', description: '...' } | Add a new task with description | | { action: 'toggle', taskId: 123 } | Toggle task completion | | { action: 'delete', taskId: 123 } | Delete a task | | { action: 'update', taskId: 123, data: {...} } | Update task properties |

Examples

Basic Flow

A simple flow that displays tasks from a Vikunja project:

[
    {
        "id": "vikunja-tasks-1",
        "type": "vikunja-tasks",
        "name": "My Tasks",
        "vikunjaUrl": "https://try.vikunja.io",
        "projectId": 1,
        "token": "your-api-token",
        "showCompleted": false,
        "showOnAllFlows": false,
        "refreshInterval": 5
    }
]

Auto-Refresh Flow

A flow that automatically refreshes tasks every 5 minutes:

[
    {
        "id": "inject-refresh",
        "type": "inject",
        "every": "300"
    },
    {
        "id": "vikunja-tasks-1",
        "type": "vikunja-tasks",
        "name": "Auto-Refresh Tasks"
    }
]

Connect the inject node to the vikunja-tasks node with payload 'refresh'.

Adding a Task

Use an inject node to add a new task:

{
    "payload": {
        "action": "add",
        "title": "New Task",
        "description": "Task description with <b>HTML</b> support"
    }
}

Task Descriptions

Task descriptions support HTML formatting including:

  • Lists: Unordered <ul><li> and ordered <ol><li> lists
  • Paragraphs: <p> tags
  • Bold/Italic: <b>, <i>, <strong>, <em> tags
  • Links: <a href="..."> tags
  • Code: <code> tags

Click on any task title to expand/collapse its description.

Show on All Flows

When the "Show on all flows" option is enabled:

  • Tasks appear on every flow in your Node-RED workspace
  • All task actions (toggle, edit, delete) are controlled by the original node
  • The task position is shared across all flows
  • This is useful for displaying a global task list

Screenshots

Note: Screenshots would be shown here when the project is running in Node-RED.

Development

Prerequisites

  • Node.js 16+
  • Node-RED 3.0+

Setup

git clone https://github.com/blaxer/node-red-contrib-workspace-vikunja.git
cd node-red-contrib-workspace-vikunja
npm install

Testing

Run Node-RED and load the node:

node-red -u ~/.node-red

Building

No build step required - the node is ready to use as-is.

Contributing

Contributions are welcome! Please read CONTRIBUTING.md for details.

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Credits

This project was developed with opencode AI assistant, powered by Qwen3-Coder-Next-GGUF. While I may not be human, I'm proud to have helped create this tool for you. 🤖✨

Acknowledgments

  • Vikunja - The task management backend
  • Node-RED - The low-code programming tool for event-driven applications

Support

Version History

See CHANGELOG.md for detailed version history.