hu3rror / linka

Self-host & AI powered bookmark management app for linkding, an alternative to linkding front-end, with special optimization for search and quick open functions. Free and open source. Provide web app and PWA.

Home Page:https://linka.unoiou.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Linka!

A smooth bookmarks management web app, shipped with special optimization for quick-search & quick-open, which will boost your productivity.

Currently it supports linkding, we are planning to make Linka a more flexible app to support other popular backends.

About the Logo

❤️ The logo was copied from the project Benthos in this commit.

Features

  • full text search
  • multi keywords, substract keywords support
  • instantly open search results
  • search on type
  • dark/light mode
  • hotkeys

Demo

demo

Following configs are for testing:

How-To use

  • type any keywords, seperated by space, results will be intersection
  • use keywords start with ! to exclude
  • type Enter to open search results in new tabs

Hotkeys

  • cmd+l or ctrl+l to focus on the search box
  • cmd+Down Arrow or ctrl+Down Arrow / cmd+Down Arrow or ctrl+Down Arrow to navigate the results
  • cmd+Enter or ctrl+Enter with an item selected to open it as a new tab or open all bookmarks when no item is selected

Backend Prerequisite

Currently, this app only supports the "linkding" backend. However, our plan is to make Linka a backend-dependent app.

To ensure compatibility with Linka, the backend service must enable "Cross-Origin Resource Sharing" (CORS).

You can nable CORS in backend by adding following headers to HTTP response:

  • Access-Control-Allow-Origin: *
  • Access-Control-Allow-Methods: GET,POST,OPTIONS,PUT,DELETE
  • Access-Control-Allow-Headers: *
  • Access-Control-Max-Age: 1000000

Development Guide

Prerequisite

Install nodejs and yarn.

Start a local development app

Run yarn install & yarn dev to start up.

Deployment Guide

Option 1: Deploy With Static HTTP Server (e.g. Nginx)

Run yarn build then publish the ./build directory to a static http server like nginx, following is a demo nginx config part:

# linka
server {
    listen 443 ssl http2;
    server_name linka.unoiou.com;
    index index.html;
    location / {
        root /home/ubuntu/static_sites/linka/build;
        try_files $uri $uri/ /index.html;
    }
}

Option 2: Deploy with Docker

Use pre build image:

docker pull cmsax/linka:latest
docker run --name my-own-linka -p 80:80 -d cmsax/linka:latest

Build on your own:

docker build -t my/linka:latest .
docker run --name my-own-linka -p 80:80 -d my/linka:latest

About

Self-host & AI powered bookmark management app for linkding, an alternative to linkding front-end, with special optimization for search and quick open functions. Free and open source. Provide web app and PWA.

https://linka.unoiou.com


Languages

Language:TypeScript 98.1%Language:HTML 0.8%Language:Dockerfile 0.7%Language:Rust 0.4%