diff options
-rw-r--r-- | src/assets/images/tekstowo-icon.svg | 115 | ||||
-rw-r--r-- | src/assets/javascripts/services.js | 7 | ||||
-rw-r--r-- | src/assets/javascripts/utils.js | 2 | ||||
-rw-r--r-- | src/config.json | 20 |
4 files changed, 144 insertions, 0 deletions
diff --git a/src/assets/images/tekstowo-icon.svg b/src/assets/images/tekstowo-icon.svg new file mode 100644 index 00000000..c5bc024d --- /dev/null +++ b/src/assets/images/tekstowo-icon.svg @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + viewBox="0 0 100 100" + version="1.1" + id="svg12" + sodipodi:docname="tekstowo-icon.svg" + width="100" + height="100" + inkscape:version="1.3 (0e150ed6c4, 2023-07-21)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <defs + id="defs12" /> + <sodipodi:namedview + id="namedview12" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:showpageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:zoom="3.3499322" + inkscape:cx="35.821621" + inkscape:cy="41.34412" + inkscape:window-width="1888" + inkscape:window-height="1060" + inkscape:window-x="32" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="logo_1_" /> + <style + id="style1">.st0{fill:#62ae25}.st1{fill:#999}</style> + <g + id="logo_1_" + transform="translate(0,-24)"> + <circle + style="fill:#ff6600;fill-opacity:1;stroke-width:4.40315;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.53144" + id="path12" + cx="50" + cy="74" + r="50" /> + <linearGradient + id="SVGID_1_" + gradientUnits="userSpaceOnUse" + x1="39.888" + y1="92.283997" + x2="52.096001" + y2="125.824" + gradientTransform="translate(0,1.24036)"> + <stop + offset="0" + stop-color="#8fe132" + id="stop5" /> + <stop + offset=".362" + stop-color="#65bd23" + id="stop6" /> + <stop + offset=".668" + stop-color="#49a519" + id="stop7" /> + <stop + offset=".844" + stop-color="#3e9c15" + id="stop8" /> + </linearGradient> + <path + d="m 57.782805,105.82283 c -4.54864,6.22445 -11.4913,8.91772 -15.381584,6.04489 -3.890284,-2.87282 -3.41148,-10.29428 1.137159,-16.518734 4.548641,-6.224454 11.491301,-8.917729 15.381584,-6.044903 3.950135,2.932676 3.411481,10.294291 -1.137159,16.518747 z" + fill="url(#SVGID_1_)" + id="path8" + style="fill:#8fe132;fill-opacity:1;stroke-width:0.999999" /> + <linearGradient + id="SVGID_2_" + gradientUnits="userSpaceOnUse" + x1="-3.5739999" + y1="24.316" + x2="82.773003" + y2="74.168999" + gradientTransform="translate(0,1.24036)"> + <stop + offset=".184" + stop-color="#8fe132" + id="stop9" /> + <stop + offset="1" + stop-color="#3e9c15" + id="stop10" /> + </linearGradient> + <path + d="M 65.563373,59.857627 C 61.792791,55.308986 56.585794,51.837656 51.43865,50.161842 42.820174,47.348868 40.665555,45.912455 36.59572,42.680526 34.26155,40.82516 32.645587,37.29398 30.670519,36.276521 c -0.957609,-0.478804 -1.556114,-0.05985 -1.915217,0.299252 -0.538654,0.538655 -1.077309,1.675815 -0.418954,3.112227 5.206996,12.389059 25.855425,48.538774 25.855425,48.538774 1.795516,-0.179552 3.41148,0.1197 4.728191,1.077309 0.598505,0.478804 1.07731,1.017459 1.496263,1.675815 L 42.461071,57.463605 c 0,0 -2.154619,-2.992526 1.615964,-3.591031 2.693275,-0.418954 8.319223,0.658356 11.251898,2.453871 3.172078,1.975069 10.533693,8.199522 11.970105,16.458894 0.658355,3.830433 0,5.8055 0.239402,9.21698 0.119701,1.556113 1.735664,3.052376 3.231928,0.957608 0.778057,-1.077309 1.19701,-5.027443 1.19701,-8.13967 0,-4.069837 -2.932675,-10.713244 -6.404005,-14.96263 z" + fill="url(#SVGID_2_)" + id="path10" + style="fill:#8fe132;fill-opacity:1;stroke-width:0.999999" /> + <radialGradient + id="SVGID_3_" + cx="21.504999" + cy="103.861" + r="14.934" + gradientTransform="matrix(0.2966,0.4025,-0.805,0.5933,123.22,30.33236)" + gradientUnits="userSpaceOnUse"> + <stop + offset="0" + stop-color="#f4ff72" + id="stop11" /> + <stop + offset="1" + stop-color="#73c928" + stop-opacity="0" + id="stop12" /> + </radialGradient> + </g> +</svg> diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index 7f00b7cf..8265a82e 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -558,6 +558,9 @@ function redirect(url, type, initiator, forceRedirection) { } return `${randomInstance}${url.pathname}${url.search}` } + case "tekstoLibre": { + return `${randomInstance}/?${url.pathname.slice(1)}`; + } default: { return `${randomInstance}${url.pathname}${url.search}` } @@ -671,6 +674,9 @@ async function reverse(url) { } return } + case "tekstowo": { + return `${config.services[service].url}/${url.search.slice(1)}` + } default: return } @@ -724,6 +730,7 @@ const defaultInstances = { 'proxigram': ['https://proxigram.privacyfrontends.repl.co'], 'tuboYoutube': ['https://tubo.migalmoreno.com'], 'tuboSoundcloud': ['https://tubo.migalmoreno.com'], + 'tekstoLibre': ['https://davilarek.github.io/TekstoLibre'], } function initDefaults() { diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js index f7b9fd73..4026e181 100644 --- a/src/assets/javascripts/utils.js +++ b/src/assets/javascripts/utils.js @@ -20,6 +20,8 @@ function camelCase(str) { */ function protocolHost(url) { if (url.username && url.password) return `${url.protocol}//${url.username}:${url.password}@${url.host}` + if (url.pathname == "/TekstoLibre/" && url.host.endsWith("github.io")) // workaround + return `${url.protocol}//${url.host}${url.pathname.slice(0, -1)}` return `${url.protocol}//${url.host}` } diff --git a/src/config.json b/src/config.json index 4c535371..6cc43776 100644 --- a/src/config.json +++ b/src/config.json @@ -943,6 +943,26 @@ }, "imageType": "svg", "url": "https://www.wolframalpha.com" + }, + "tekstowo": { + "frontends": { + "tekstoLibre": { + "name": "TekstoLibre", + "instanceList": true, + "url": "https://github.com/Davilarek/TekstoLibre" + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?tekstowo\\.pl\\/" + ], + "name": "Tekstowo.pl", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "tekstoLibre" + }, + "imageType": "svg", + "url": "https://www.tekstowo.pl" } } } \ No newline at end of file |