{"id":13801839,"url":"https://github.com/linka-app/linka","last_synced_at":"2025-05-13T12:30:38.723Z","repository":{"id":54418236,"uuid":"465698815","full_name":"linka-app/linka","owner":"linka-app","description":"Cross-platform, Self-hosted \u0026 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、PWA and desktop APP. Companion for browsers without bookmark like Arc.","archived":false,"fork":false,"pushed_at":"2024-02-21T05:13:46.000Z","size":12788,"stargazers_count":56,"open_issues_count":12,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-08-05T00:06:47.899Z","etag":null,"topics":["bookmarks","chakraui","fulltext-search","linkding","pwa","react","spa"],"latest_commit_sha":null,"homepage":"https://linka.unoiou.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linka-app.png","metadata":{"files":{"readme":"README.md","changelog":"History.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-03-03T11:53:20.000Z","updated_at":"2024-07-20T15:48:22.000Z","dependencies_parsed_at":"2024-01-08T08:04:25.668Z","dependency_job_id":null,"html_url":"https://github.com/linka-app/linka","commit_stats":null,"previous_names":["cmsax/linka"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linka-app%2Flinka","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linka-app%2Flinka/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linka-app%2Flinka/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linka-app%2Flinka/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linka-app","download_url":"https://codeload.github.com/linka-app/linka/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225208429,"owners_count":17438209,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bookmarks","chakraui","fulltext-search","linkding","pwa","react","spa"],"created_at":"2024-08-04T00:01:28.455Z","updated_at":"2024-11-18T16:31:29.888Z","avatar_url":"https://github.com/linka-app.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","Applications"],"sub_categories":["Utilities"],"readme":"\u003cimg src=\"https://raw.githubusercontent.com/cmsax/linka/main/public/logo192.png\" width=\"150\"\u003e\n\n# Linka!\n\nA smooth bookmarks management web app, shipped with special optimization for quick-search \u0026 quick-open, which will boost your productivity.\n\nCurrently it supports `linkding`, we are planning to make `Linka` a more flexible app to support other popular backends.\n\n- [Linka!](#linka)\n  - [Features](#features)\n  - [Demo](#demo)\n  - [How-To use](#how-to-use)\n    - [Hotkeys](#hotkeys)\n  - [Backend Prerequisite](#backend-prerequisite)\n  - [Development Guide](#development-guide)\n    - [Prerequisite](#prerequisite)\n    - [Start a local development app](#start-a-local-development-app)\n  - [Deployment Guide](#deployment-guide)\n    - [Option 1: Deploy With Static HTTP Server (e.g. Nginx)](#option-1-deploy-with-static-http-server-eg-nginx)\n    - [Option 2: Deploy with Docker](#option-2-deploy-with-docker)\n\n## About the Logo\n\n❤️ The logo was copied from the project [Benthos](https://www.benthos.dev/) in this [commit](https://github.com/linka-app/linka/commit/2521264d1e6cbb166066d1d3ad42908daf7c356a).\n\n## Features\n\n- full text search\n- multi keywords, substract keywords support\n- instantly open search results\n- search on type\n- dark/light mode\n- hotkeys\n\n## Demo\n\n![demo](./screenshot/demo.gif)\n\n- [Stable Version](https://linka.unoiou.com)\n- [Development Version](https://linka-git-dev-cmsax.vercel.app/)\n\nFollowing configs are for testing:\n\n- `demo linkding base url`: https://link.unoiou.com\n- `demo token`(restricted): `a6816f654f87197545cd66bfd2f8e294c40f1ee4`\n\n## How-To use\n\n- type any keywords, seperated by space, results will be **intersection**\n- use keywords start with `!` to **exclude**\n- type `Enter` to open search results in new tabs\n\n### Hotkeys\n\n- `cmd+l` or `ctrl+l` to focus on the search box\n- `cmd+Down Arrow` or `ctrl+Down Arrow` / `cmd+Down Arrow` or `ctrl+Down Arrow` to navigate the results\n- `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\n\n## Backend Prerequisite\n\nCurrently, this app only supports the \"linkding\" backend. However, our plan is to make Linka a backend-dependent app.\n\nTo ensure compatibility with Linka, the backend service must enable \"Cross-Origin Resource Sharing\" (CORS).\n\nYou can nable `CORS` in backend by adding following headers to HTTP response:\n\n- `Access-Control-Allow-Origin: *`\n- `Access-Control-Allow-Methods: GET,POST,OPTIONS,PUT,DELETE`\n- `Access-Control-Allow-Headers: *`\n- `Access-Control-Max-Age: 1000000`\n\n## Development Guide\n\n### Prerequisite\n\nInstall `nodejs` and `yarn`.\n\n### Start a local development app\n\nRun `yarn install` \u0026 `yarn dev` to start up.\n\n## Deployment Guide\n\n### Option 1: Deploy With Static HTTP Server (e.g. Nginx)\n\nRun `yarn build` then publish the `./build` directory to a static http server like nginx, following is a demo nginx config part:\n\n```config\n# linka\nserver {\n    listen 443 ssl http2;\n    server_name linka.unoiou.com;\n    index index.html;\n    location / {\n        root /home/ubuntu/static_sites/linka/build;\n        try_files $uri $uri/ /index.html;\n    }\n}\n```\n\n### Option 2: Deploy with Docker\n\nUse pre build image:\n\n```bash\ndocker pull cmsax/linka:latest\ndocker run --name my-own-linka -p 80:80 -d cmsax/linka:latest\n```\n\nBuild on your own:\n\n```bash\ndocker build -t my/linka:latest .\ndocker run --name my-own-linka -p 80:80 -d my/linka:latest\n```\n\n## Stargazers over time\n[![Stargazers over time](https://starchart.cc/linka-app/linka.svg?variant=adaptive)](https://starchart.cc/linka-app/linka)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinka-app%2Flinka","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinka-app%2Flinka","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinka-app%2Flinka/lists"}