Skip to content

Commit f3599c2

Browse files
authored
Merge pull request #1953 from MohamedBassem/add-karakeep
feat: Add Karakeep sync
2 parents de98241 + c8902b4 commit f3599c2

File tree

14 files changed

+978
-30
lines changed

14 files changed

+978
-30
lines changed

.github/workflows/tests.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ jobs:
101101
- google-drive
102102
- google-drive-encrypted
103103
- linkwarden
104+
- karakeep
104105
test-name:
105106
- test
106107
browsers:
@@ -176,6 +177,16 @@ jobs:
176177
image: mariadb:10.5 # see https://github.com/nextcloud/docker/issues/1536
177178
env:
178179
MYSQL_ROOT_PASSWORD: ${{env.MYSQL_PASSWORD}}
180+
karakeep:
181+
image: ghcr.io/karakeep-app/karakeep:release
182+
ports:
183+
- 3000:3000
184+
volumes:
185+
- data:/data
186+
env:
187+
NEXTAUTH_SECRET: super_random_string
188+
NEXTAUTH_URL: http://localhost:3000
189+
DATA_DIR: /data
179190

180191
steps:
181192

@@ -263,6 +274,7 @@ jobs:
263274
GOOGLE_API_REFRESH_TOKEN: ${{ secrets.GOOGLE_API_REFRESH_TOKEN }}
264275
LINKWARDEN_TOKEN: ${{ secrets.LINKWARDEN_TOKEN }}
265276
APP_VERSION: ${{ matrix.app-version }}
277+
KARAKEEP_TEST_HOST: 172.17.0.1:3000
266278
run: |
267279
npm run test
268280
if: matrix.floccus-adapter != 'git-xbel' && matrix.floccus-adapter != 'git-html'

_locales/en/messages.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,9 @@
164164
"DescriptionServerfolderlinkwarden": {
165165
"message": "When syncing, your bookmarks in this browser will be stored as links under this collection and only links under this collection will be synced with this browser."
166166
},
167+
"DescriptionServerfolderkarakeep": {
168+
"message": "When syncing, your bookmarks in this browser will be stored as links under this collection and only links under this collection will be synced with this browser."
169+
},
167170
"LabelLocaltarget": {
168171
"message": "Local target"
169172
},
@@ -801,6 +804,21 @@
801804
"DescriptionReportproblem": {
802805
"message": "If you would like to directly contact the developers with a concrete issue, you can do so here:"
803806
},
807+
"LabelAdapterKarakeep": {
808+
"message": "Karakeep"
809+
},
810+
"DescriptionAdapterKarakeep": {
811+
"message": "Sync your bookmarks with the open-source self-hosted Karakeep app. This option cannot make use of end-to-end encryption."
812+
},
813+
"LabelApiKey": {
814+
"message": "API key"
815+
},
816+
"LabelKarakeepurl": {
817+
"message": "The URL of your Karakeep server"
818+
},
819+
"LabelKarakeepconnectionerror": {
820+
"message": "Failed to connect to your Karakeep server"
821+
},
804822
"LabelAdapterlinkwarden": {
805823
"message": "Linkwarden"
806824
},

src/lib/Account.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ declare const DEBUG: boolean
2020

2121
// register Adapters
2222
AdapterFactory.register('linkwarden', async() => (await import('./adapters/Linkwarden')).default)
23+
AdapterFactory.register('karakeep', async() => (await import('./adapters/Karakeep')).default)
2324
AdapterFactory.register('nextcloud-folders', async() => (await import('./adapters/NextcloudBookmarks')).default)
2425
AdapterFactory.register('nextcloud-bookmarks', async() => (await import('./adapters/NextcloudBookmarks')).default)
2526
AdapterFactory.register('webdav', async() => (await import('./adapters/WebDav')).default)

0 commit comments

Comments
 (0)