Skip to content

Commit

Permalink
Merge pull request #1709 from floccusaddon/feat/linkwarden
Browse files Browse the repository at this point in the history
feat: Implement linkwarden sync
  • Loading branch information
marcelklehr authored Sep 6, 2024
2 parents eec45b4 + 7371688 commit e0bd28f
Show file tree
Hide file tree
Showing 14 changed files with 740 additions and 29 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,9 +100,9 @@ jobs:
- git-html
- google-drive
- google-drive-encrypted
- linkwarden
test-name:
- test
- benchmark root
browsers:
- firefox
- chrome
Expand Down Expand Up @@ -253,6 +253,7 @@ jobs:
FLOCCUS_TEST_SEED: ${{ github.sha }}
GIST_TOKEN: ${{ secrets.GIST_TOKEN }}
GOOGLE_API_REFRESH_TOKEN: ${{ secrets.GOOGLE_API_REFRESH_TOKEN }}
LINKWARDEN_TOKEN: ${{ secrets.LINKWARDEN_TOKEN }}
APP_VERSION: ${{ matrix.app-version }}
run: |
npm run test
Expand Down
22 changes: 20 additions & 2 deletions _locales/en/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,9 @@
"DescriptionServerfolder": {
"message": "When syncing, your bookmarks in this browser will be stored as links under this path on the server. Note, that this path represents a folder in the Nextcloud Bookmarks app, not a folder in Nextcloud Files. Leave this empty to just put all links in the topmost folder on the server."
},
"DescriptionServerfolderlinkwarden": {
"message": "When syncing, your bookmarks in this browser will be stored as links under this collection."
},
"LabelLocaltarget": {
"message": "Local target"
},
Expand Down Expand Up @@ -270,7 +273,7 @@
"message": "Nextcloud Bookmarks"
},
"DescriptionAdapternextcloudfolders": {
"message": "The option 'Nextcloud Bookmarks' syncs your bookmarks with the Bookmarks app for Nextcloud. It can only sync http, ftp and javascript bookmarks. Make sure you have installed the Bookmarks app from the Nextcloud app store in your Nextcloud. This option cannot make use of end-to-end encryption."
"message": "Sync your bookmarks with the open-source Bookmarks app for Nextcloud (an open-source collaboration platform that you can either self-host or get an account for an instance in the cloud from one of the various hosters). With Nextcloud Bookmarks you can only sync http, ftp and javascript bookmarks. Make sure you have installed the Bookmarks app from the Nextcloud app store in your Nextcloud. This option cannot make use of end-to-end encryption."
},
"LabelAdapternextcloud": {
"message": "Nextcloud Bookmarks (legacy)"
Expand All @@ -282,7 +285,7 @@
"message": "WebDAV share"
},
"DescriptionAdapterwebdav": {
"message": "The WebDAV option syncs your bookmarks by storing them in a file in the provided WebDAV share. There is no accompanying web UI for this option and you can use it with any WebDAV-compatible server. It can sync http, ftp, data, file and javascript bookmarks. You can choose to use end-to-end encryption when using this option."
"message": "Sync your bookmarks by storing them in a file in the provided WebDAV share. There is no accompanying web UI for this option and you can use it with any WebDAV-compatible server, either selfhosted or in the cloud. It can sync http, ftp, data, file and javascript bookmarks. You can choose to use end-to-end encryption when using this option."
},
"LabelAddaccount": {
"message": "Add profile"
Expand Down Expand Up @@ -779,5 +782,20 @@
},
"DescriptionReportproblem": {
"message": "If you would like to directly contact the developers with a concrete issue, you can do so here:"
},
"LabelAdapterlinkwarden": {
"message": "Linkwarden"
},
"DescriptionAdapterlinkwarden": {
"message": "Sync your bookmarks with the open-source Linkwarden app, either hosted on your own server or in the cloud at cloud.linkwarden.app. It can only sync http, ftp and javascript bookmarks. This option cannot make use of end-to-end encryption."
},
"LabelLinkwardenurl": {
"message": "The URL of your Linkwarden server"
},
"LabelAccesstoken": {
"message": "Access token"
},
"LabelLinkwardenconnectionerror": {
"message": "Failed to connect to your Linkwarden server"
}
}
1 change: 1 addition & 0 deletions src/lib/Account.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import * as Sentry from '@sentry/vue'
declare const DEBUG: boolean

// register Adapters
AdapterFactory.register('linkwarden', async() => (await import('./adapters/Linkwarden')).default)
AdapterFactory.register('nextcloud-folders', async() => (await import('./adapters/NextcloudBookmarks')).default)
AdapterFactory.register('nextcloud-bookmarks', async() => (await import('./adapters/NextcloudBookmarks')).default)
AdapterFactory.register('webdav', async() => (await import('./adapters/WebDav')).default)
Expand Down
Loading

0 comments on commit e0bd28f

Please sign in to comment.