diff --git a/README.md b/README.md index f3bcd570..ecfb4caa 100644 --- a/README.md +++ b/README.md @@ -18,12 +18,44 @@ Do not modify `config/default.js`, but instead create a copy at `config/local.js You can also use `npm run flush` to run both steps at once, and wipe the database completely later. +#### Networks and channels +To scrape the networks and channels available in the database, you can configure `include` and `exclude` lists. To include all available channels and only use the `exclude` list, leave the `include` parameter unconfigured. The `exclude` lists will exclude channels and child networks from networks on the `include` lists, but not vice versa. That is, if the `include` list includes a network and the `exclude` list excludes one of that network's channels, the channel will not be scraped. However, if the `include` list includes a channel, and the `exclude` list includes its parent network, the channel will be scraped. + +This configuration will scrape Evil Angel and all XEmpire channels, except for LesbianX. +``` +include: { + networks: [ + 'xempire', + ], + channels: [ + 'evilangel', + ], +}, +exclude: { + channels: [ + 'lesbianx', + ], +} +``` + +This configuration will scrape all channels, except for BAM Visions, and except all channels part of the Vixen network. +``` +exclude: { + channels: [ + 'bamvisions', + ], + networks: [ + 'vixen' + ], +}, +``` + ### Building To build traxxx, run the following command: `npm run build` -To generate the thumbnails for logos and tag photos, run: +To generate thumbnails for logos and tag photos, install ImageMagick and run: `npm run logos-thumbs` @@ -33,13 +65,24 @@ To generate the thumbnails for logos and tag photos, run: `./traxxx --option value` or `npm start -- --option value` * `--server`: Run the web server -* `--all`: Fetch updates from the channels and networks in the configuration file. -* `--channel [slug] [slug]`: Fetch updates from specific channels. The slug is the channel's name in lowercase and without cases or special characters. For example, Teens Like It Big is teenslikeitbig. -* `--network [slug] [slug]`: Fetch updates from all sites of a specific network. The network slug is composed similarly to the channel slug. + +#### Channels +* `--channels [slug] [slug]`: Fetch updates from specific channels. The slug is the channel's name in lowercase and without cases or special characters. For example, Teens Like It Big is teenslikeitbig. Overrides configured included networks and channels. +* `--networks [slug] [slug]`: Fetch updates from all sites of a specific network. The network slug is composed similarly to the channel slug. Overrides configured included networks and channels. +* `--exclude-channels [slug] [slug]`: Scrape every configured, specified or available channel, except for specified. Overrides configured excluded channels. +* `--exclude-networks [slug] [slug]`: Scrape every configured, specified or available network, except for specified. Overrides configured excluded networks. * `--after "[time]"`: Do not fetch scenes older than this period or date. Example values are: `"1 month"`, `"3 years"`, `"2019-01-01"`. * `--scene [URL]`: Try to retrieve scene details from its official channel or network URL. * `--deep`: Follow each release link found running `--channel` or `--network` and scrape it for more details. Enabled by default ; use `--no-deep` to only save information found on the overview pages. +#### Actors +* `--actors "[name]" "[name]"`: Fetch actor profiles. When no names are specified, actors without existing profiles are scraped +* `--actors-file [filepath]`: Fetch all scenes for the actors specified in a file using a newline delimiter. +* `--actors-sources [slug] [slug]`: Scrapers to use for actor profiles. Defaults to config. +* `--actors-update [time]`: Update actors that don't have any profiles newer than period ("1 month") or date (2020-08-01). Using this argument without a value will default to 1900-01-01, practically updating all actors. +* `--actors-scenes`: Fetch all scenes for scraped actors. Use with caution, as an actor may have many scenes. +* `--scene-actors`: Fetch profiles for actors associated with scraped scenes. Use with caution, as scenes may have many actors, each with many profiles. + #### Developers * `--no-save`: Do not store retrieved information in local database, forcing re-fetch. * `--level`: Change log level to `silly`, `verbose`, `info`, `warn` or `error`. diff --git a/assets/components/actors/actor.vue b/assets/components/actors/actor.vue index cf485bdc..df57f91b 100644 --- a/assets/components/actors/actor.vue +++ b/assets/components/actors/actor.vue @@ -29,7 +29,7 @@ /> -
+
@@ -306,13 +307,15 @@ class="pagination-top" />
+ +
+ + diff --git a/assets/components/header/filter-bar.vue b/assets/components/filters/filter-bar.vue similarity index 50% rename from assets/components/header/filter-bar.vue rename to assets/components/filters/filter-bar.vue index 359688f0..c46baaf6 100644 --- a/assets/components/header/filter-bar.vue +++ b/assets/components/filters/filter-bar.vue @@ -1,6 +1,6 @@ + + diff --git a/assets/components/filters/tag-filter.vue b/assets/components/filters/tag-filter.vue new file mode 100644 index 00000000..ae3a8b98 --- /dev/null +++ b/assets/components/filters/tag-filter.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/assets/components/footer/footer.vue b/assets/components/footer/footer.vue new file mode 100644 index 00000000..2a5d78c6 --- /dev/null +++ b/assets/components/footer/footer.vue @@ -0,0 +1,34 @@ + + + diff --git a/assets/components/header/filters.vue b/assets/components/header/filters.vue deleted file mode 100644 index e5fa42f0..00000000 --- a/assets/components/header/filters.vue +++ /dev/null @@ -1,200 +0,0 @@ - - - - - diff --git a/assets/components/header/header.vue b/assets/components/header/header.vue index 4db57f17..fbaa7b2f 100644 --- a/assets/components/header/header.vue +++ b/assets/components/header/header.vue @@ -2,15 +2,9 @@
+ +
+ + diff --git a/assets/components/releases/media.vue b/assets/components/releases/media.vue index 8031bec3..28ea11f6 100644 --- a/assets/components/releases/media.vue +++ b/assets/components/releases/media.vue @@ -71,7 +71,7 @@
+
+
+ + + + +
+ +

{{ movie.title }}

+
+ +
    +
  • {{ actor.name }}
  • +
+ +
    +
  • {{ tag.name }}
  • +
+
+
+ +
+
+ + + + + diff --git a/assets/components/releases/movie.vue b/assets/components/releases/movie.vue new file mode 100644 index 00000000..070d6257 --- /dev/null +++ b/assets/components/releases/movie.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/assets/components/releases/movies.vue b/assets/components/releases/movies.vue new file mode 100644 index 00000000..ca33247b --- /dev/null +++ b/assets/components/releases/movies.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/assets/components/releases/releases.vue b/assets/components/releases/releases.vue index fadc47a5..e5483493 100644 --- a/assets/components/releases/releases.vue +++ b/assets/components/releases/releases.vue @@ -15,7 +15,7 @@ v-for="(release, index) in releases" :key="`release-${release.id}`" > - diff --git a/assets/components/releases/tile-details.vue b/assets/components/releases/tile-details.vue index 7a2bfa2d..c5b4b469 100644 --- a/assets/components/releases/tile-details.vue +++ b/assets/components/releases/tile-details.vue @@ -36,8 +36,8 @@
-