Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Implement linkwarden sync #1709

Merged
merged 13 commits into from
Sep 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 @@ -776,5 +779,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
Loading