Compare commits
No commits in common. "84117bc074e7a544d93a77d54306fdb295cc5eb3" and "a5046b3b7b2db0423b311e1c3c6ff9a05a4ac72f" have entirely different histories.
84117bc074
...
a5046b3b7b
|
@ -1,27 +1,25 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="sites">
|
<ul class="nolist sites">
|
||||||
<ul class="nolist tiles">
|
<a
|
||||||
<a
|
v-if="network"
|
||||||
v-if="network"
|
:href="network.url"
|
||||||
:href="network.url"
|
target="_blank"
|
||||||
target="_blank"
|
rel="noopener noreferrer"
|
||||||
rel="noopener noreferrer"
|
class="tile"
|
||||||
class="tile"
|
>
|
||||||
|
<img
|
||||||
|
:src="`/img/logos/${network.slug}/network.png`"
|
||||||
|
class="logo"
|
||||||
>
|
>
|
||||||
<img
|
</a>
|
||||||
:src="`/img/logos/${network.slug}/network.png`"
|
|
||||||
class="logo"
|
|
||||||
>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<li
|
<li
|
||||||
v-for="site in sites"
|
v-for="site in sites"
|
||||||
:key="`site-${site.id}`"
|
:key="`site-${site.id}`"
|
||||||
>
|
>
|
||||||
<SiteTile :site="site" />
|
<SiteTile :site="site" />
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
@ -48,13 +46,15 @@ export default {
|
||||||
@import 'theme';
|
@import 'theme';
|
||||||
|
|
||||||
.sites {
|
.sites {
|
||||||
overflow: hidden;
|
display: grid;
|
||||||
display: flex;
|
grid-gap: 1rem;
|
||||||
|
padding: 1rem;
|
||||||
|
margin: 0;
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
overflow-y: auto;
|
||||||
|
|
||||||
&.compact:not(.expanded) {
|
&.compact:not(.expanded) {
|
||||||
.tiles {
|
overflow-x: auto;
|
||||||
overflow-x: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tile {
|
.tile {
|
||||||
width: 15rem;
|
width: 15rem;
|
||||||
|
@ -63,22 +63,10 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
&.expanded {
|
&.expanded {
|
||||||
.tiles {
|
grid-template-columns: repeat(2, .5fr);
|
||||||
grid-template-columns: repeat(2, .5fr);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.tiles {
|
|
||||||
display: grid;
|
|
||||||
grid-gap: 1rem;
|
|
||||||
flex-grow: 1;
|
|
||||||
padding: 1rem;
|
|
||||||
margin: 0;
|
|
||||||
grid-template-columns: 1fr;
|
|
||||||
overflow-y: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.logo {
|
.logo {
|
||||||
width: 15rem;
|
width: 15rem;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,10 +26,10 @@
|
||||||
inkscape:pageopacity="0.0"
|
inkscape:pageopacity="0.0"
|
||||||
inkscape:pageshadow="2"
|
inkscape:pageshadow="2"
|
||||||
inkscape:zoom="6.0071666"
|
inkscape:zoom="6.0071666"
|
||||||
inkscape:cx="20.137868"
|
inkscape:cx="48.270932"
|
||||||
inkscape:cy="18.279076"
|
inkscape:cy="18.279076"
|
||||||
inkscape:document-units="mm"
|
inkscape:document-units="mm"
|
||||||
inkscape:current-layer="text4520"
|
inkscape:current-layer="layer1"
|
||||||
showgrid="false"
|
showgrid="false"
|
||||||
fit-margin-top="0"
|
fit-margin-top="0"
|
||||||
fit-margin-left="0"
|
fit-margin-left="0"
|
||||||
|
@ -48,7 +48,7 @@
|
||||||
<dc:format>image/svg+xml</dc:format>
|
<dc:format>image/svg+xml</dc:format>
|
||||||
<dc:type
|
<dc:type
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
<dc:title />
|
<dc:title></dc:title>
|
||||||
</cc:Work>
|
</cc:Work>
|
||||||
</rdf:RDF>
|
</rdf:RDF>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
@ -57,34 +57,18 @@
|
||||||
inkscape:groupmode="layer"
|
inkscape:groupmode="layer"
|
||||||
id="layer1"
|
id="layer1"
|
||||||
transform="translate(-77.20239,-97.922958)">
|
transform="translate(-77.20239,-97.922958)">
|
||||||
<g
|
<text
|
||||||
aria-label="traxxx"
|
xml:space="preserve"
|
||||||
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff6c88;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff6c88;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
||||||
id="text4520">
|
x="77.10714"
|
||||||
<path
|
y="105.74404"
|
||||||
d="m 77.890306,105.74404 h 1.407584 v -4.58258 h 0.846666 V 99.880875 H 79.29789 v -1.957917 h -1.407584 v 1.957917 H 77.20239 v 1.280585 h 0.687916 z"
|
id="text4520"><tspan
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'URW Gothic';-inkscape-font-specification:'URW Gothic Bold';fill:#ff6c88;fill-opacity:1;stroke-width:0.26458332"
|
sodipodi:role="line"
|
||||||
id="path828" />
|
id="tspan4518"
|
||||||
<path
|
x="77.10714"
|
||||||
d="M 80.917117,105.74404 H 82.3247 v -3.25967 c -0.03175,-0.86783 0.41275,-1.35466 1.259417,-1.38641 v -1.354668 h -0.105834 c -0.60325,0 -0.899583,0.169333 -1.27,0.709078 v -0.571495 h -1.291166 z"
|
y="105.74404"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'URW Gothic';-inkscape-font-specification:'URW Gothic Bold';fill:#ff6c88;fill-opacity:1;stroke-width:0.26458332"
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'URW Gothic';-inkscape-font-specification:'URW Gothic Bold';fill:#ff6c88;fill-opacity:1;stroke-width:0.26458332"><tspan
|
||||||
id="path830" />
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'URW Gothic';-inkscape-font-specification:'URW Gothic Bold';fill:#333333;fill-opacity:1"
|
||||||
<path
|
id="tspan4522">tra</tspan>xxx</tspan></text>
|
||||||
d="m 90.071688,99.880875 h -1.291166 v 0.783165 c -0.486833,-0.64558 -1.068917,-0.920748 -1.915583,-0.920748 -1.735667,0 -2.9845,1.301748 -2.9845,3.090328 0,1.76742 1.23825,3.048 2.95275,3.048 0.8255,0 1.386416,-0.254 1.947333,-0.89958 v 0.762 h 1.291166 z m -3.058583,1.153585 c 1.005417,0 1.725084,0.75141 1.725084,1.82033 0,0.42333 -0.169334,0.91017 -0.423334,1.2065 -0.28575,0.34925 -0.740833,0.52917 -1.280583,0.52917 -1.026583,0 -1.735667,-0.6985 -1.735667,-1.72509 0,-1.06891 0.709084,-1.83091 1.7145,-1.83091 z"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'URW Gothic';-inkscape-font-specification:'URW Gothic Bold';fill:#ff6c88;fill-opacity:1;stroke-width:0.26458332"
|
|
||||||
id="path832" />
|
|
||||||
<path
|
|
||||||
d="m 90.558521,105.74404 h 1.693333 l 1.227667,-2.01083 1.227666,2.01083 h 1.693334 l -2.084917,-3.02683 1.788583,-2.836335 h -1.5875 l -1.037166,1.767415 -1.058334,-1.767415 h -1.5875 l 1.799167,2.836335 z"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'URW Gothic';-inkscape-font-specification:'URW Gothic Bold';fill:#ff6c88;fill-opacity:1;stroke-width:0.26458332"
|
|
||||||
id="path834" />
|
|
||||||
<path
|
|
||||||
d="m 96.485181,105.74404 h 1.693334 l 1.227666,-2.01083 1.227669,2.01083 h 1.69333 l -2.08492,-3.02683 1.78859,-2.836335 h -1.5875 l -1.037169,1.767415 -1.058333,-1.767415 h -1.5875 l 1.799167,2.836335 z"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'URW Gothic';-inkscape-font-specification:'URW Gothic Bold';fill:#ff6c88;fill-opacity:1;stroke-width:0.26458332"
|
|
||||||
id="path836" />
|
|
||||||
<path
|
|
||||||
d="m 102.41184,105.74404 h 1.69334 l 1.22766,-2.01083 1.22767,2.01083 h 1.69333 l -2.08491,-3.02683 1.78858,-2.836335 h -1.5875 l -1.03717,1.767415 -1.05833,-1.767415 h -1.5875 l 1.79917,2.836335 z"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'URW Gothic';-inkscape-font-specification:'URW Gothic Bold';fill:#ff6c88;fill-opacity:1;stroke-width:0.26458332"
|
|
||||||
id="path838" />
|
|
||||||
</g>
|
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 2.6 KiB |
|
@ -0,0 +1,89 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="31.051453mm"
|
||||||
|
height="7.9586663mm"
|
||||||
|
viewBox="0 0 31.051453 7.9586663"
|
||||||
|
version="1.1"
|
||||||
|
id="svg8"
|
||||||
|
sodipodi:docname="logo.svg">
|
||||||
|
<defs
|
||||||
|
id="defs2" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="6.0071666"
|
||||||
|
inkscape:cx="48.270932"
|
||||||
|
inkscape:cy="18.279076"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1026"
|
||||||
|
inkscape:window-x="1047"
|
||||||
|
inkscape:window-y="930"
|
||||||
|
inkscape:window-maximized="1" />
|
||||||
|
<metadata
|
||||||
|
id="metadata5">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-77.20239,-97.922958)">
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ff6c88;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
||||||
|
x="77.10714"
|
||||||
|
y="105.74404"
|
||||||
|
id="text4520"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4518"
|
||||||
|
x="77.10714"
|
||||||
|
y="105.74404"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'URW Gothic';-inkscape-font-specification:'URW Gothic Bold';fill:#ff6c88;fill-opacity:1;stroke-width:0.26458332"><tspan
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'URW Gothic';-inkscape-font-specification:'URW Gothic Bold';fill:#333333;fill-opacity:1"
|
||||||
|
id="tspan4522">tra</tspan>xxx</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
|
||||||
|
x="90.459816"
|
||||||
|
y="102.49019"
|
||||||
|
id="text4629"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4627"
|
||||||
|
x="90.459816"
|
||||||
|
y="111.85396"
|
||||||
|
style="stroke-width:0.26458332"></tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
x="90.459816"
|
||||||
|
y="125.08312"
|
||||||
|
style="stroke-width:0.26458332"
|
||||||
|
id="tspan4631" /></text>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.2 KiB |
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.47.0",
|
"version": "1.46.0",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.47.0",
|
"version": "1.46.0",
|
||||||
"description": "All the latest porn releases in one place",
|
"description": "All the latest porn releases in one place",
|
||||||
"main": "src/app.js",
|
"main": "src/app.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
|
@ -641,30 +641,23 @@
|
||||||
/* $primary: #ff886c; */
|
/* $primary: #ff886c; */
|
||||||
/* $logo-highlight: drop-shadow(1px 0 0 $highlight-weak) drop-shadow(-1px 0 0 $highlight-weak) drop-shadow(0 1px 0 $highlight-weak) drop-shadow(0 -1px 0 $highlight-weak); */
|
/* $logo-highlight: drop-shadow(1px 0 0 $highlight-weak) drop-shadow(-1px 0 0 $highlight-weak) drop-shadow(0 1px 0 $highlight-weak) drop-shadow(0 -1px 0 $highlight-weak); */
|
||||||
.sites[data-v-7bebaa3e] {
|
.sites[data-v-7bebaa3e] {
|
||||||
overflow: hidden;
|
|
||||||
display: -webkit-box;
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
.sites.compact:not(.expanded) .tiles[data-v-7bebaa3e] {
|
|
||||||
overflow-x: auto;
|
|
||||||
}
|
|
||||||
.sites.compact:not(.expanded) .tile[data-v-7bebaa3e] {
|
|
||||||
width: 15rem;
|
|
||||||
margin: 0 1rem 0 0;
|
|
||||||
}
|
|
||||||
.sites.expanded .tiles[data-v-7bebaa3e] {
|
|
||||||
grid-template-columns: repeat(2, 0.5fr);
|
|
||||||
}
|
|
||||||
.tiles[data-v-7bebaa3e] {
|
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-gap: 1rem;
|
grid-gap: 1rem;
|
||||||
-webkit-box-flex: 1;
|
|
||||||
flex-grow: 1;
|
|
||||||
padding: 1rem;
|
padding: 1rem;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
grid-template-columns: 1fr;
|
grid-template-columns: 1fr;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
.sites.compact[data-v-7bebaa3e]:not(.expanded) {
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
.sites.compact:not(.expanded) .tile[data-v-7bebaa3e] {
|
||||||
|
width: 15rem;
|
||||||
|
margin: 0 1rem 0 0;
|
||||||
|
}
|
||||||
|
.sites.expanded[data-v-7bebaa3e] {
|
||||||
|
grid-template-columns: repeat(2, 0.5fr);
|
||||||
|
}
|
||||||
.logo[data-v-7bebaa3e] {
|
.logo[data-v-7bebaa3e] {
|
||||||
width: 15rem;
|
width: 15rem;
|
||||||
}
|
}
|
||||||
|
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 8.3 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 7.7 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 8.0 KiB |
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 9.5 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 20 KiB |
|
@ -1162,12 +1162,6 @@ function getSites(networksMap) {
|
||||||
url: 'https://www.spermswallowers.com',
|
url: 'https://www.spermswallowers.com',
|
||||||
network_id: networksMap.julesjordan,
|
network_id: networksMap.julesjordan,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
slug: 'manuelferrara',
|
|
||||||
name: 'Manuel Ferrara',
|
|
||||||
url: 'https://www.manuelferrara.com',
|
|
||||||
network_id: networksMap.julesjordan,
|
|
||||||
},
|
|
||||||
// KELLY MADISON MEDIA
|
// KELLY MADISON MEDIA
|
||||||
{
|
{
|
||||||
slug: 'teenfidelity',
|
slug: 'teenfidelity',
|
||||||
|
|
|
@ -7,10 +7,6 @@ const slugify = require('../utils/slugify');
|
||||||
const clusterId = '617fb597b659459bafe6472470d9073a';
|
const clusterId = '617fb597b659459bafe6472470d9073a';
|
||||||
const authKey = 'YmFuZy1yZWFkOktqVDN0RzJacmQ1TFNRazI=';
|
const authKey = 'YmFuZy1yZWFkOktqVDN0RzJacmQ1TFNRazI=';
|
||||||
|
|
||||||
function getScreenUrl(item, scene) {
|
|
||||||
return `https://i.bang.com/screenshots/${scene.dvd.id}/movie/${scene.order}/${item.screenId}.jpg`;
|
|
||||||
}
|
|
||||||
|
|
||||||
function encodeId(id) {
|
function encodeId(id) {
|
||||||
return Buffer
|
return Buffer
|
||||||
.from(id, 'hex')
|
.from(id, 'hex')
|
||||||
|
@ -57,8 +53,8 @@ function scrapeScene(scene, site) {
|
||||||
const photos = defaultPoster ? photoset : photoset.slice(1);
|
const photos = defaultPoster ? photoset : photoset.slice(1);
|
||||||
const poster = defaultPoster || photoset[0];
|
const poster = defaultPoster || photoset[0];
|
||||||
|
|
||||||
release.poster = getScreenUrl(poster, scene);
|
release.poster = `https://i.bang.com/screenshots/${scene.dvd.id}/movie/${scene.order}/${poster.screenId}.jpg`;
|
||||||
release.photos = photos.map(photo => getScreenUrl(photo, scene));
|
release.photos = photos.map(photo => `https://i.bang.com/screenshots/${scene.dvd.id}/movie/${scene.order}/${photo.screenId}.jpg`);
|
||||||
|
|
||||||
release.trailer = {
|
release.trailer = {
|
||||||
src: `https://i.bang.com/v/${scene.dvd.id}/${scene.identifier}/preview.mp4`,
|
src: `https://i.bang.com/v/${scene.dvd.id}/${scene.identifier}/preview.mp4`,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
// const Promise = require('bluebird');
|
const Promise = require('bluebird');
|
||||||
const bhttp = require('bhttp');
|
const bhttp = require('bhttp');
|
||||||
const cheerio = require('cheerio');
|
const cheerio = require('cheerio');
|
||||||
const { JSDOM } = require('jsdom');
|
const { JSDOM } = require('jsdom');
|
||||||
|
@ -32,8 +32,6 @@ function scrapePhotos(html, type) {
|
||||||
|
|
||||||
return [
|
return [
|
||||||
src.replace('thumbs/', 'photos/'),
|
src.replace('thumbs/', 'photos/'),
|
||||||
src.replace('thumbs/', '1600watermarked/'),
|
|
||||||
src.replace('thumbs/', '1280watermarked/'),
|
|
||||||
src.replace('thumbs/', '1024watermarked/'),
|
src.replace('thumbs/', '1024watermarked/'),
|
||||||
src,
|
src,
|
||||||
];
|
];
|
||||||
|
@ -42,10 +40,8 @@ function scrapePhotos(html, type) {
|
||||||
return photos;
|
return photos;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getPhotosLegacy(entryId, site, type = 'highres', page = 1) {
|
async function getPhotos(entryId, site, page = 1, type = 'highres') {
|
||||||
const albumUrl = `${site.url}/trial/gallery.php?id=${entryId}&type=${type}&page=${page}`;
|
const albumUrl = `https://www.julesjordan.com/trial/gallery.php?id=${entryId}&type=${type}&page=${page}`;
|
||||||
|
|
||||||
console.warn(`Jules Jordan is using legacy photo scraper for ${albumUrl} (page ${page})`);
|
|
||||||
|
|
||||||
const html = await fetchPhotos(albumUrl);
|
const html = await fetchPhotos(albumUrl);
|
||||||
const $ = cheerio.load(html, { normalizeWhitespace: true });
|
const $ = cheerio.load(html, { normalizeWhitespace: true });
|
||||||
|
@ -69,48 +65,12 @@ async function getPhotosLegacy(entryId, site, type = 'highres', page = 1) {
|
||||||
|
|
||||||
if (allPhotos.length === 0 && type === 'highres') {
|
if (allPhotos.length === 0 && type === 'highres') {
|
||||||
// photos not available, try for screencaps instead
|
// photos not available, try for screencaps instead
|
||||||
return getPhotosLegacy(entryId, site, 'caps', 1);
|
return getPhotos(entryId, site, 1, 'caps');
|
||||||
}
|
}
|
||||||
|
|
||||||
return allPhotos;
|
return allPhotos;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getPhotos(entryId, site, type = 'highres', page = 1) {
|
|
||||||
const albumUrl = `${site.url}/trial/gallery.php?id=${entryId}&type=${type}&page=${page}`;
|
|
||||||
|
|
||||||
const res = await bhttp.get(albumUrl);
|
|
||||||
const html = res.body.toString();
|
|
||||||
|
|
||||||
const sourceLines = html.split(/\n/).filter(line => line.match(/ptx\["\w+"\]/));
|
|
||||||
const sources = sourceLines.reduce((acc, sourceLine) => {
|
|
||||||
const quality = sourceLine.match(/\["\w+"\]/)[0].slice(2, -2);
|
|
||||||
const source = sourceLine.slice(sourceLine.indexOf('/trial'), sourceLine.indexOf('.jpg') + 4);
|
|
||||||
|
|
||||||
if (!source) return acc;
|
|
||||||
if (!acc[quality]) acc[quality] = [];
|
|
||||||
|
|
||||||
acc[quality].push(`${site.url}${source}`);
|
|
||||||
|
|
||||||
return acc;
|
|
||||||
}, {});
|
|
||||||
|
|
||||||
if (type === 'highres') {
|
|
||||||
if (sources['1600'] && sources['1600'].length > 0) return sources['1600'];
|
|
||||||
if (sources['1280'] && sources['1280'].length > 0) return sources['1280'];
|
|
||||||
if (sources['1024'] && sources['1024'].length > 0) return sources['1024'];
|
|
||||||
if (sources.Thumbs && sources.Thumbs.length > 0) return sources.Thumbs;
|
|
||||||
|
|
||||||
// no photos available, try for screencaps instead
|
|
||||||
return getPhotos(entryId, site, 'caps', 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sources.jpg && sources.jpg.length > 0) return sources.jpg;
|
|
||||||
if (sources['Video Cap Thumbs'] && sources['Video Cap Thumbs'].length > 0) return sources['Video Cap Thumbs'];
|
|
||||||
|
|
||||||
// no screencaps available either, try legacy scraper just in case
|
|
||||||
return getPhotosLegacy(entryId, site, 'highres', 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
function scrapeLatest(html, site) {
|
function scrapeLatest(html, site) {
|
||||||
const $ = cheerio.load(html, { normalizeWhitespace: true });
|
const $ = cheerio.load(html, { normalizeWhitespace: true });
|
||||||
const scenesElements = $('.update_details').toArray();
|
const scenesElements = $('.update_details').toArray();
|
||||||
|
@ -211,24 +171,9 @@ async function scrapeScene(html, url, site) {
|
||||||
|
|
||||||
release.title = $('.title_bar_hilite').text().trim();
|
release.title = $('.title_bar_hilite').text().trim();
|
||||||
[release.entryId] = $('.suggest_tags a').attr('href').match(/\d+/);
|
[release.entryId] = $('.suggest_tags a').attr('href').match(/\d+/);
|
||||||
|
release.date = moment
|
||||||
const dateElement = $('.update_date').text().trim();
|
.utc($('.update_date').text(), 'MM/DD/YYYY')
|
||||||
const dateComment = $('*')
|
.toDate();
|
||||||
.contents()
|
|
||||||
.toArray()
|
|
||||||
.find(({ type, data }) => type === 'comment' && data.match('Date OFF'));
|
|
||||||
|
|
||||||
if (dateElement) {
|
|
||||||
release.date = moment
|
|
||||||
.utc($('.update_date').text(), 'MM/DD/YYYY')
|
|
||||||
.toDate();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dateComment) {
|
|
||||||
release.date = moment
|
|
||||||
.utc(dateComment.nodeValue.match(/\d{2}\/\d{2}\/\d{4}/), 'MM/DD/YYYY')
|
|
||||||
.toDate();
|
|
||||||
}
|
|
||||||
|
|
||||||
release.description = $('.update_description').text().trim();
|
release.description = $('.update_description').text().trim();
|
||||||
|
|
||||||
|
@ -245,12 +190,10 @@ async function scrapeScene(html, url, site) {
|
||||||
|
|
||||||
const trailerLine = infoLines.find(line => line.match('movie["Trailer_720"]'));
|
const trailerLine = infoLines.find(line => line.match('movie["Trailer_720"]'));
|
||||||
|
|
||||||
if (site.slug !== 'manuelferrara') {
|
release.trailer = {
|
||||||
release.trailer = {
|
src: trailerLine.slice(trailerLine.indexOf('path:"') + 6, trailerLine.indexOf('",movie')),
|
||||||
src: trailerLine.slice(trailerLine.indexOf('path:"') + 6, trailerLine.indexOf('",movie')),
|
quality: 720,
|
||||||
quality: 720,
|
};
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
release.photos = await getPhotos(release.entryId, site);
|
release.photos = await getPhotos(release.entryId, site);
|
||||||
|
|
||||||
|
|