diff --git a/README.md b/README.md
index 09f489a..1cb70a3 100644
--- a/README.md
+++ b/README.md
@@ -35,12 +35,12 @@ Environment variables for the linkding worker.
| Linkding__Key | text | The linkding application key | [Instructions](https://github.com/sissbruecker/linkding/blob/master/docs/API.md) |
## Configuration
-The following explains the configuration options.
+The following explains the configuration options. The Configuration file must be mapped to **/app/data/config.yml**
### WallabagSync
The configuration is optional. In the configuration (**YAML File**) rules can be defined in regex to exclude certain domains from sync.
Exampel:
-````yaml
+```yaml
excludedDomains:
- name: youtube
pattern: 'https://[[a-zA-Z0-9]+\.]?(youtube)\.com(?:/.*)?'
@@ -48,7 +48,7 @@ excludedDomains:
pattern: 'https://[[a-zA-Z0-9]+\.]?(ebay)\.(com|de|fr)(?:/.*)?'
- name: amazon
pattern: 'https://[[a-zA-Z0-9]+\.]?(amazon)\.(com|de|fr)(?:/.*)?'
-````
+```
With this configuration every matching bookmark from linkding will be excluded from the sync.
### LinkdingUpdater
@@ -57,7 +57,7 @@ The configuration is optional. In the configuration (**YAML File**) rules can be
If operated without a configuration file, only the year of the tag is added (currently).
Example:
-````yaml
+```yaml
urlTagMapping:
- name: microsoft_azure
url: https://github.com/azure
@@ -68,59 +68,88 @@ urlTagMapping:
taggingRule:
- name: reddit
- pattern: https://(?:www\.)?(reddit)\.com(?:/r/)?([ a-zA-Z0-9\-\+_ ]+)?(?:/.*)?
+ pattern: https://(?:www\.)?(reddit)\.com(?:/r/)?([a-zA-Z0-9\-\+_]+)?(?:/.*)?
replace: $1,$2
- name: microsoft
- pattern: https://([ a-zA-Z0-9 ]+)?[ \. ]?(microsoft)\.com(?:/.*)?
+ pattern: https://([a-zA-Z0-9]+)?[\.]?(microsoft)\.com(?:/.*)?
replace: $1,$2
- name: microsoft_docs
- pattern: 'https://(?:docs)\.(?:microsoft)\.com[ / ]?(?: [ a-zA-Z0-9\-\+_ ]+)(?:/)?([ a-zA-Z0-9\-\+_ ]+)?(?:/)?([ a-zA-Z0-9\-\+_ ]+)?(?:/.*)?'
+ pattern: 'https://(?:docs)\.(?:microsoft)\.com[/]?(?: [a-zA-Z0-9\-\+_]+)(?:/)?([a-zA-Z0-9\-\+_]+)?(?:/)?([a-zA-Z0-9\-\+_]+)?(?:/.*)?'
replace: $1,$2
- name: youtube
- pattern: https://[ [ a-zA-Z0-9 ]+\. ]?(youtube)\.com(?:/.*)?
+ pattern: https://[[a-zA-Z0-9]+\.]?(youtube)\.com(?:/.*)?
replace: $1
- name: ebay
- pattern: https://[ [ a-zA-Z0-9 ]+\. ]?(ebay)\.(com|de|fr)(?:/.*)?
+ pattern: https://[[a-zA-Z0-9]+\.]?(ebay)\.(com|de|fr)(?:/.*)?
replace: $1
- name: amazon
- pattern: https://[ [ a-zA-Z0-9 ]+\. ]?(amazon)\.(com|de|fr)(?:/.*)?
+ pattern: https://[[a-zA-Z0-9]+\.]?(amazon)\.(com|de|fr)(?:/.*)?
replace: $1
- name: docker
- pattern: https://([ a-zA-Z0-9 ]+)?[ \. ]?(docker)\.com(?:/.*)?
+ pattern: https://([a-zA-Z0-9]+)?[\.]?(docker)\.com(?:/.*)?
replace: $1,$2
- name: xbox
- pattern: https://[ [ a-zA-Z0-9 ]+\. ]?(xbox)\.com(?:/.*)?
+ pattern: https://[[a-zA-Z0-9]+\.]?(xbox)\.com(?:/.*)?
replace: $1
- name: github
- pattern: https://([ a-zA-Z0-9 ]+)?[ \. ]?(github)\.com[ / ]?([ a-zA-Z0-9\-\+_ ]+)(?:/)?([ a-zA-Z0-9\-\+_ ]+)?(?:/.*)?
+ pattern: https://([a-zA-Z0-9]+)?[\.]?(github)\.com[/]?([a-zA-Z0-9\-\+_]+)(?:/)?([a-zA-Z0-9\-\+_]+)?(?:/.*)?
replace: $1,$2,$3,$4
- name: github.io
- pattern: https://([ a-zA-Z0-9 ]+)\.(github)\.io[ / ]?([ a-zA-Z0-9\-\+_ ]+)(?:/)?([ a-zA-Z0-9\-\+_ ]+)?(?:/.*)?
+ pattern: https://([a-zA-Z0-9]+)\.(github)\.io[/]?([a-zA-Z0-9\-\+_]+)(?:/)?([a-zA-Z0-9\-\+_]+)?(?:/.*)?
replace: $1,$2,$3
-````
+```
+
+#### urlTagMapping
+If the bookmark should match one - or more - of the urlTagMappings, then value of name is added as tag to this bookmark.
+
+Example:
+https://github.com/azure/something will be tagged with microsoft_azure
+
+#### taggingRule
+Dynamic tags can be assigned to the bookmarks on the basis of the URL using regular expression. If one of the patterns matches, the values of the groups are added to the bookmark as a tag.
+
+Example:
+Here is an example using a reddit bookmark.
+Url:
+- https://www.reddit.com/r/selfhosted/comments/yzq6qp/running_a_mostly_sbcbased_nomad_cluster_in_my/?utm_source=share&utm_medium=android_app&utm_name=androidcss&utm_term=2&utm_content=share_button
+
+Pattern:
+- https://(?:www\.)?(reddit)\.com(?:/r/)?([a-zA-Z0-9\-\+_]+)?(?:/.*)?
+
+Matches:
+- https://www.reddit.com/r/selfhosted/comments/yzq6qp/running_a_mostly_sbcbased_nomad_cluster_in_my/?utm_source=share&utm_medium=android_app&utm_name=androidcss&utm_term=2&utm_content=share_button
+
+if you would change the pattern to the following.
+Pattern:
+- https://(?:www\.)?(reddit)\.com(?:/)?(r/[a-zA-Z0-9\-\+_]+)?(?:/.*)?
+
+then the following would match.
+- https://www.reddit.com/r/selfhosted/comments/yzq6qp/running_a_mostly_sbcbased_nomad_cluster_in_my/?utm_source=share&utm_medium=android_app&utm_name=androidcss&utm_term=2&utm_content=share_button
## Docker Run
-```
-docker run --rm -it --env-file .env -v /config.yml:/app/data/config.yml linkdingsync/wallabag:latest
+```bash
+docker run --rm -it --env-file .env -v /config.yml:/app/data/config.yml ghcr.io/spaytac/linkding-updater:latest
```
-You can also
+```bash
+docker run --rm -it --env-file .env -v /config.yml:/app/data/config.yml ghcr.io/spaytac/wallabag-sync:latest
+```
## Docker Compose
You can find [examples](./examples/) in the examples folder..
-- [Wallabag Example](./examples/wallabag/)
+- [WallabagSync Example](./examples/wallabag/)
- [LinkdingUpdater Example](./examples/linkding/)
-## Build Docker Image
+## Build Docker Images
### LinkdingUpdater
```
-docker build -t linkdingsync/linkdingupdater:latest -f .\Dockerfile_Linkding .
+docker build -t linkdingsync/linkding-updater:latest -f .\Dockerfile_Linkding .
```
### WallabagSync
```
-docker build -t linkdingsync/wallabag:latest -f .\Dockerfile_Wallabag .
+docker build -t linkdingsync/wallabag-sync:latest -f .\Dockerfile_Wallabag .
```
\ No newline at end of file
diff --git a/examples/linkding/docker-compose.yml b/examples/linkding/docker-compose.yml
index 23070c9..9c07970 100644
--- a/examples/linkding/docker-compose.yml
+++ b/examples/linkding/docker-compose.yml
@@ -2,9 +2,9 @@ version: '3.9'
services:
linkdingupdater:
- image: linkdingsync/linkdingupdater:latest
+ image: ghcr.io/spaytac/linkding-updater:latest
volumes:
- - ./config.yml:/data/config.yml
+ - ./config.yml:/app/data/config.yml
# env_file:
# - .env
environment:
diff --git a/examples/wallabag/config/config.yml b/examples/wallabag/config.yml
similarity index 100%
rename from examples/wallabag/config/config.yml
rename to examples/wallabag/config.yml
diff --git a/examples/wallabag/docker-compose.yml b/examples/wallabag/docker-compose.yml
index 10ce0b9..e32f13f 100644
--- a/examples/wallabag/docker-compose.yml
+++ b/examples/wallabag/docker-compose.yml
@@ -2,9 +2,9 @@ version: '3.9'
services:
wallabagsync:
- image: linkdingsync/wallabag:latest
+ image: ghcr.io/spaytac/wallabag-sync:latest
volumes:
- - ./config.yml:/data/config.yml
+ - ./config.yml:/app/data/config.yml
# env_file:
# - .env
environment:
diff --git a/src/Wallabag/Handler/LinkdingBookmarkToWallabagHandler.cs b/src/Wallabag/Handler/LinkdingBookmarkToWallabagHandler.cs
index 4c26fd0..0e603c6 100644
--- a/src/Wallabag/Handler/LinkdingBookmarkToWallabagHandler.cs
+++ b/src/Wallabag/Handler/LinkdingBookmarkToWallabagHandler.cs
@@ -26,6 +26,9 @@ namespace Wallabag.Handler
{
var settings = SettingsService.Settings;
+ // var settingsString = JsonSerializer.Serialize(settings);
+ // logger.LogInformation($"settings: {settingsString}");
+
var tagName = configuration.GetValue("Worker:SyncTag");
linkdingBookmarks =