nerdy-6ll.pages.dev
Open in
urlscan Pro
2606:4700:310c::ac42:2c49
Public Scan
URL:
https://nerdy-6ll.pages.dev/
Submission: On January 14 via api from US — Scanned from US
Submission: On January 14 via api from US — Scanned from US
Form analysis
1 forms found in the DOMPOST //translate.googleapis.com/translate_voting?client=te
<form id="goog-gt-votingForm" action="//translate.googleapis.com/translate_voting?client=te" method="post" target="votingFrame" class="VIpgJd-yAWNEb-hvhgNd-aXYTce"><input type="text" name="sl" id="goog-gt-votingInputSrcLang"><input type="text"
name="tl" id="goog-gt-votingInputTrgLang"><input type="text" name="query" id="goog-gt-votingInputSrcText"><input type="text" name="gtrans" id="goog-gt-votingInputTrgText"><input type="text" name="vote" id="goog-gt-votingInputVote"></form>
Text Content
NERDY nerdy.artefaktas.eu admin@artefaktas.eu * Home * About * Contact * Facebook * Instragram * Main blog: artefaktas.eu * Privacy * Support page © 2024. All rights reserved. Powered by Translate TEKSTAS Į KALBĄ NAUDOJANTIS PYTHON Tue, Nov 29, 2022 Sveiki, skaitytojai. Gana ilgai nepildžiau savo tinklaraščių. Šia proga pasidalinsiu keletu Python programinio kodo linijų skirtų paversti tekstą į Audio failus. Kodas Kodo veikimui būtina susidiegti pyttsx3 bei susikurti direktoriją pavadinimu “audios”. import pyttsx3 class TextToSpeech: def __init__(self): self.default_directory = "audios" self.extension = "mp3" self.rate = 180 self.engine = pyttsx3.init() self.voices = self.engine.getProperty("voices") def listVoices(self): for index, voice in enumerate(self.voices): s = "{}) {}".format(index,str(voice.id).upper()) print(s) chosen_voice = int(input("\n\nChoose a voice\n\n")) final_value = None if(chosen_voice is not None): for index, voice in enumerate(self. Read More… SUPPORT Tue, Jul 19, 2022 Support Artefaktas projects SUPPORT Tue, Jul 19, 2022 COMMENTS POLICY Sat, Jul 16, 2022 All Rights Reserved: The blog owner reserves the right to edit, delete, move, or mark as spam any and all comments. Blog owner has the right to block access to any one or group from commenting or from the entire blog. Comment Form Guidelines: The comment form must be filled in with a proper or legitimate sounding name and URL. Comments using keywords, spam or splog-like URLs, or suspicious information in the comment form will be deleted. Read More… CONTACTS Fri, Jul 15, 2022 Email: admin@artefaktas.eu Main website: artefaktas.eu Phone number: will be added ABOUT Fri, Jul 15, 2022 About content This is a simple website generated purely from my personal Obsidian notes AUTOMATIZUOTA PRANEŠIMŲ SKELBIMO SISTEMA TINKLARAŠČIAMS I: KAINA Mon, Apr 18, 2022 Šis įrašas - pirmoji ciklo dalis susijusi su automatizuota sistema apie kurią buvo užsiminta pagrindiniame (artefaktas.eu) tinklaraštyje. Jos tikslas paprastas, kaip du kart du: užfiksuoti naujausią Blogger įrašą, patalpinti greitąją nuorodą Twitter, paskelbti įspėjamąjį OneSignal pranešimą bei išsiųsti elektroninį laišką į asmeninę gmail pašto dėžutę. Išsiųstąjame elektroniniame laiške pridedami tokie papildomi laukai, kaip: autoriaus vardas, blogo posto pavadinimas ir paskelbimo data. Skamba ganėtinai paprastai, tiesa? Taip ir yra. Ir čia aprašysiu būdą kaip visa tai įvykdyti praktiškai. Read More… CLOUDFLARE SKRIPTAS (AMAZON AFFILIATE API) Thu, Apr 7, 2022 Ką gi, pažadus reikia tęsėti. artefaktas.eu tinklaraštyje minėjau, jog aprašysiu būdą pasidaryti affiliate API panaudojant React, Cloudflare skriptą ir Google Sheets. Prieš pažvelgiant į programinį kodą pateiktą žemiau, patariu apsilankyti viename senesnių artefaktas.eu tinklaraščio įrašų. Jį galite rasti paspaudę mygtuką “Skaityti” pridėtoje Embed kortelėje. Cloudflare skriptas sukurti automatizuotai užduočiai Skriptas ganėtinai paprastas ir nesudėtingas. Jo veikimui būtini keletas svarbių aspektų: Viešai prieinamas Google Sheet dokumentas Google Sheets viešai prieinamo dokumento id (identifikacinis unikalus numeris) Google Sheets API raktas Google Sheets rėžis, kurį norima paimti iš dokumento talpinamo Google Drive Kas čia atliekama? Read More… ELEKTRONINIŲ LAIŠKŲ SIUNTIMAS (GOOGLE PYTHON FUNKCIJA) [SIUNTIMAS PER GMAIL] Mon, Apr 4, 2022 Elektroniniai laiškai su Python? Taip, o kodėl gi ne? O jei tai šiek tiek automatizuotumėte ir sukurtumėte Google Python funkciją? Funkcija Super slaptas aplikacijos slaptažodis Jį gausite aplankę šį puslapį: https://support.google.com/accounts/answer/185833?hl=en requirements.txt requests==2.24.0 unidecode==1.2.0 Kodas import smtplib, ssl, json import requests from unidecode import unidecode class Mail: def __init__(self): self.port = 465 self.smtp_server_domain_name = "smtp.gmail.com" self.sender_mail = "youremail" self.password = "yourverysecretpassword" def send(self, email, subject, content): ssl_context = ssl.create_default_context() service = smtplib. Read More… TWITTER TRUMPASIS KODAS HUGO PUSLAPIŲ GENERATORIUI Fri, Apr 1, 2022 Hugo puslapių generatorius bei jo teikiamos galimybės tikrai nėra pakankamai išnagrinėti. Verta pabrėžti dar ir tai, jog šiuo metu nėra sukurta pakankamai trumpųjų kodų, kuriuos galėtų naudoti platesnė naudotojų dalis. Šįkart dalinuosi Twitter Embed kortelių trumpuoju kodu, kurį sukūriau remdamasis oficialia Twitter Javascript API dokumentacija ir praeitais šablonais. twitter.html Trumpai ir glaustai paaiškinsiu apie vykdomus veiksmus tam, kad būtų lengviau suprasti, jei atvykote į šį puslapį ir nelabai nutuokiate apie Hugo ar Javascript: Read More… GIFAI IŠ GIPHY? BE PROBLEMŲ. Thu, Mar 31, 2022 Praeitame įraše pateikiau informacijos apie tai, kaip susikurti trumpąjį kodą skirtą įdėti TikTok vaizdelius į savo puslapius. Įrašas čia: https://nerdy.artefaktas.eu/post/19/ O ką, jei padarytumėte tą patį su Giphy? Na, kiek pakeistumėte kodą, bet veikimo principą išlaikytumėte daugiau ar mažiau tą patį? giphy.html <giphy> {{ $gLink := .Get "glink" }} {{ $embedLink := split $gLink "-" }} {{ $len:= len $embedLink }} {{ $len:= sub $len 1 }} {{ $lastEl := index ($embedLink) $len }} <iframe src="https://giphy. Read More… TIKTOK TRUMPASIS KODAS HUGO GENERATORIUI Thu, Mar 31, 2022 Pagal numatytuosius nustatymus TikTok Embed vaizdo įrašų įtraukti į Hugo puslapius neįmanoma. Bent jau buvo neįmanoma iki dabar. Sukūriau trumpąjį kodą TikTok vaizdo įrašams pridėti į esamus šablonus. Trumpasis kodas veikia panašiai, kaip ir kiek anksčiau aprašytas “youtube”. Kodai skiriasi tik vienu atributu, kurio pavadinimas - “tiktoklink”. Būtina susikurti: shortcodes direktoriją tiktok.html failą tiktok.html <tiktok> {{ $ttLink := .Get "tiktoklink" }} {{ $className := split $ttLink "video/" }} {{ $className := index ($className) 1 }} <div class={{ $className }}></div> <script defer> window. Read More… OPENGRAPH ŽYMOS SU HUGO Thu, Mar 31, 2022 O kodėl gi ne? Tai ganėtinai paprasta. Juolab, kadangi Hugo puslapių generatorius pagal nutylėjimą geba generuoti meta žymas socialiniams tinklams. Kaip? Susikurkite opengraph partial (šabloninį) failą. Failo plėtinys - html. Į failo vidų įtraukite šiuos du papildomus vidinius Hugo šablonus. {{ template "_internal/opengraph.html" . }} {{ template "_internal/twitter_cards.html" . }} Na, o dabar belieka įtraukti naujai susikurtą plėtinį kur nors į savo temos “head” dalį. Jos aprašas dažniausiai taip pat būna tame pačiame partials kataloge. Read More… PRIVACY Wed, Mar 30, 2022 Welcome to our Privacy Policy Your privacy is critically important to us. Artefaktas is located at: Artefaktas, Lithuania It is Artefaktas’s policy to respect your privacy regarding any information we may collect while operating our website. This Privacy Policy applies to https://nerdy.artefaktas.eu (hereinafter, “us”, “we”, or “https://nerdy.artefaktas.eu”). We respect your privacy and are committed to protecting personally identifiable information you may provide us through the Website. We have adopted this privacy policy (“Privacy Policy”) to explain what information may be collected on our Website, how we use this information, and under what circumstances we may disclose the information to third parties. Read More… VAIZDO ĮRAŠO ĮKĖLIMAS SU HUGO IR TYPORA Tue, Mar 29, 2022 Susikurkite naują markdown įrašą ir aplankykite norimą vaizdo įrašą. Po žio žingsnio išsikopijuokite youtube nuorodą į kitą parankią vietą. Pavyzdžiui, mano norima įdėti nuoroda - https://www.youtube.com/watch?v=L4bZRIwI-QA Panaudokime hugo trumpąjį kodą ir padarykime ją suprantamą generatoriui. <youtube L4bZRIwI-QA> Apskliauskite youtube žodį ir raidžių kombo einantį po ?v parametro tarp skliaustų: {{ }}. Tarp žodžio youtube ir sekančios dalies palikite tarpą. Išsaugoję įrašą, pergeneruokite puslapius ir įkelkite juos į Firebase Hostingą. Komanda: hugo && firebase deploy Read More… JSON FAILO SUGENERAVIMAS SU HUGO Tue, Mar 29, 2022 Jeigu manęs paklaustų ar labai sunku sugeneruoti JSON formato duomenų failą su Hugo generatoriumi, tai atsakyčiau, jog tai priklauso nuo keleto niuansų. Bet jei tinka visiškai paprastas variantas, tai turiu padėsiantį sprendimą. Pakanka sukurti vos vieną failą savo naudojamos temos _default direktorijoje. (Joje saugomi numatytieji šablonai) Pavyzdinis kelias: themes -> temos pavadinimas -> layouts -> _default Sukurkite failą index.json ir jame patalpinkite kodą pateiktą žemiau: More than one post is required [ {{ $list := (where . Read More… LIGHTBOX GALERIJOS KODAS HUGO PUSLAPIŲ GENERATORIUI Tue, Mar 29, 2022 Taip, šitas įrašas čia turėjo atsidurti daug seniau. Anksčiau rašiau apie tai, jog jei tik sugalvosiu kaip integruoti Lightbox galeriją, tai būtinai pasidalinsiu kodu čia. Reikės: jQuery bibliotekos (https://code.jquery.com/jquery-3.6.0.min.js) Lighbox.js skripto (https://github.com/lokesh/lightbox2/tree/dev/dist) Lightbox.css stilizacijos failo (https://github.com/lokesh/lightbox2/tree/dev/dist) Sumesti lightbox ir jquery failus į public direktoriją Papildomo Javascript kodo sklandžiam veikimui (bus pateikta žemiau) Lightbox stilizacijos failo įtraukimas themes -> temos pavadinimas -> _default -> baseof <link rel="stylesheet" href="{{ "lightbox.css" | relURL }}"> Taip atrodo visas mano naudojamas baseof failas: Read More… NERDY PRIPARKUOTAS PRIE ARTEFAKTAS.EU Tue, Mar 29, 2022 Priparkavimas prie artefaktas.eu Taip, visiškai teisingai. Nuo šiol nerdy projektukas tampa artefaktas.eu dalimi. Tačiau kaip tai pavyko padaryti? Na, Google Firebase Webhost projektą teko priparkuoti prie Cloudflare paslaugos. Kaip tai padaryti? Google Firebase Hosting srityje būtina susikurti lygiai tokio paties pavadinimo įrašą, kurį norima panaudoti Cloudflare. (Paprasta) So far, so good. Toliau tereikia sulaukti subdomeno sukūrimo momento ir pasirinkti “advanced” tipo (pažengusiems) konfigūraciją. Po žio žingsnio dera į Cloudflare DNS įrašus įtraukti Google pateiktas TXT reikšmes. Read More… CLOUDFLARE TAISYKLĖ ATBAIDYTI BOTAMS Mon, Aug 30, 2021 Galbūt kada ieškojai Cloudflare Firewall taisyklės botų pristabdymui? Na, pateikiu ją čia, nes kaip žinoma, dauguma piktybinių botų nesilaiko robots.txt direktyvų. O ši taisyklė padės atbaidyti daugumą tokio pobūdžio botų (bet tikrai ne visus, nes tai neįmanoma). Kas čia daroma? Na, sutikrinama kiekviena užklausa, o jos User-Agent identifikacinis aprašas transformuojamas į lowercase (mažąsias raides). Jei User-Agent aprašas turi bent vieną iš nurodytų frazių, botas blokuojamas. Kaip ir minėjau, tai nepadeda nuo absoliučiai visų botų, bet atmuša tuos, kurie naudoja numatytuosius User-Agent aprašus pagal nutylėjimą. Read More… NAUJAS, PAGERINTAS SW.JS KODAS Sat, Aug 21, 2021 Good morning, taip sakant. Ilgai nepildžiau šio tinklaraščio, bet atėjo metas lengvoms permainoms. Šis įrašas skirtas visiems naudojantiems hugo altius temą. Bloga žinia ta, kad jau metas atnaujinti savo sw.js failų kodą į pateiktą apačioje: const PRECACHE = "pwa-cache-v17"; const RUNTIME = "runtime-17"; const PRECACHE_URLS = [""]; self.addEventListener("install", (event) => { self.skipWaiting(); event.waitUntil( caches .open(PRECACHE) .then((cache) => cache.addAll(PRECACHE_URLS)) .then(self.skipWaiting()) ); }); self.addEventListener("activate", (event) => { const currentCaches = [PRECACHE, RUNTIME]; event. Read More… NERDY.ARTEFAKTAS.EU IŠSAUGOJIMAS, SINCHRONIZACIJA IR PERKĖLIMAS Į DEBESĮ Sun, Apr 25, 2021 Misija: Išsaugoti šį tinklaraštį ir perkelti jį į debesį Retkarčiais būna taip, jog susiduri su įdomiomis problemomis. Viena tokių problemų gali būti HUGO projekto perkėlimas į kitą kompiuterį neprarandant svarbių esamo projekto dalių. Čia aprašysiu būdą, kurį panaudojau perkelti visiems reikalingiems failams į kitą prietaisą neprarasdamas funkcionalumo. Išsamesnis problemos aprašymas Sukonfigūruoti buvusią node aplinką bet kuriame kompiuteryje yra ypač lengva. Bent jau tol, kol gebi atsmininti visus praeitus žingsnius. Visų pirma reikėjo sudiegti node. Read More… PYTHON KODAS AMP ISTORIJŲ GENERAVIMUI Sun, Apr 18, 2021 Čia pateikiamas programinis, kodas, kuris kas valandą tikrina du API prieigos taškus. Šie taškai yra: Blogger API Instagram Basic Display API Kodas pritaikytas veikti, kaip automatizuota užduotis arba dar kitaip - cronjob. Kaip ir minėjau jis skirtas vykdyti tam tikrą patikrą kas valandą. Kas tikrinama? Tikrinami du daykai: Ar yra naujų tinklaraščio įrašų Ar yra naujų Instagram įrašų Jei sąlygą tenkinama, amp istorijų puslapis yra pergeneruojamas (jeigu jau yra sugeneruotas) arba sugeneruojamas naujai. Read More… NERDY.ARTEFAKTAS.EU TEMA ĮKELTA Į GITHUB IR YRA ATVIRA VISIEMS Fri, Feb 5, 2021 Tema įkelta į GitHub Praeitame įraše minėjau, jog įkelsiu nerdy.artefaktas.eu esančią temą į GitHub ir sukursiu jai atskirą repozitoriją. Tai ir padariau. Šiuo metu altius tema yra atvira visiems norintiems ją parsisiųsti ir paeksperimentuoti. Nuoroda parsisiuntimui: https://github.com/Sparky4567/hugoaltius Būtiniausi punktai į kuriuos būtina atkreipti dėmesį yra aprašyti readme.md faile. Licencija Temai priskirta MIT licencija. Tad ją galima parsisiųsti, naudoti ir redaguoti pagal savo poreikius. Tai nieko nekainuos. Pabrėžiu tik tai, kad už jos neveikimą ar netinkamą veikimą aš nebūsiu atsakingas. Read More… BOOTSTRAP KARUSELĖ BLOGSPOT TINKLARAŠČIUI Tue, Feb 2, 2021 Negaliu praleisti progos pasidalinti dar vienu kodo gabaliuku. Gana seniai, o jei tiksliau, beveik prieš porą metų nutariau susikurti tinklaraštį naudojantis Blogger paslaugomis. Tik net neįtariau, jog tai sukels keletą keblumų. Pavyzdžiui, pastebėjau, kad Blogger naudoja specifines sąlygas ir kintamuosius, kurių nežinant neįmanoma sukonstruoti norimos temos, bet net ir juos naudojant šablone ne visada gauni tiek informacijos kiek iš API. Tikrai verta pabrėžti ir tai, jog dauguma šios turinio sistemos plėtinių pavyzdžių internete smarkiai atsilieka nuo šiuolaikinių standartų ir neveikia arba veikia tik dalinai. Read More… HUGO IR BOOTSTRAP | BOOTSTRAP KARUSELĖS KODAS Mon, Feb 1, 2021 Jei nenori išsamesnių paaiškinimų, visą kodą rasi pateiktą apačioje. Šiek tiek informacijos Ši dalis gauna keturis naujausius įrašus iš Hugo generatoriaus. Kiekvienam įrašui priskiriamas atitinkamas indeksas. Kadangi {{range}} veikia kaip įprastai gerai žinomas for ciklas, tai pirmąjam gautam įrašui priskiriama indekso vertė lygi nuliui. Antrojo įrašo indekso vertei priskiriamas 1 ir t.t. kylant iki nurodyto skaičiaus. {{range $index, $element := first 4 .Site.RegularPages }} <li data-target="#carouselExampleIndicators" data-slide-to="{{$index}}" class="active"></li> {{end}} Ši dalis kiek sudėtingesnė. Read More… INSTAGRAM BASIC DISPLAY API PAVYZDYS | ARBA KAIP GAUTI KETURIS NAUJAUSIUS ĮRAŠUS IŠ SAVO INSTAGRAM PASKYROS Sun, Jan 3, 2021 Taip jau yra, kad mėgstu dalintis programiniu kodu, kuris man yra padėjęs išspręsti vieną ar kitą rimtesnę bėdą administuojamuose WEB puslapiuose. Tad šįkart dalinuosi Javascript kodo pavyzdžiu padėsiančiu ištraukti keturis naujausius įrašus iš asmeninės Instagram verslo tipo paskyros. Ką reikia turėti tam, kad būtų galima pritaikyti kodą? Bootstrap stiliaus failo nuorodą savo svetainėje (Nes kodas veikia tik su Bootstrap) Facebook aplikaciją (Susikurti galima developers.facebook.com) Reikia būti pridėjus savo Instagram paskyrą prie savo aplikacijos Instagram Basic Display API testuotojų Instagram Basic Display API leidimus bei nautotojo ID ir prieigos raktą prie API Kodas Užkrovus būtinuosius svetainės resursus, suveikus ’load’ event’ui, sukuriama klasė. Read More… SEK SAVO SVETAINĖS NAUDOTOJŲ LANKOMUMĄ MANDAGIAI Sat, Jan 2, 2021 Apie mandagų lankomumo stebėjimą Ieškojau gero sprendimo leisiančio rinkti tinklaraščio altiusday.lt stebėjimo duomenis. O jei tiksliau, tai norėjau matyti kiek kartų ir kada tiksliai aplankytas konkretus puslapis. Bet tam, pagal Europos Sąjungos duomenų rinkimo politiką, reikalinga įspėti kiekvieną naują naudotoją apie naudojamus slapukus ir netgi suteikti galimybę šių slapukų atsisakyti. Kaip tai padariau? Viskas paprasta. window.addEventListener("load", () => { setTimeout(() => { function getCookie(name) { var v = document.cookie.match("(^|;) ?" + name + "=([^;]*)(;|$)"); return v ? Read More… AR TURĖČIAU IŠMOKTI BATCH PRADMENŲ? Tue, Dec 29, 2020 Štai kur svarbus klausimas. Ar tikrai turėtum? Nors dauguma tam jau nebepritaria ir primygtinai rekomenduoja mokytis dirbti su PowerShell, bet manau, kad labai naudinga išmokti ir Batch pagrindus. Kodėl? Atsakymas į šį klausimą labai paprastas. Užduočių automatizavimas Windows aplinkoje. Apie ką kalbu? Kas būtų, jei keletą reikalingų command line komandų galėtume sutalpinti į vieną vienintelę? Pavyzdžiui, Hugo Ananke šablonas turi specifinį kintamąjį, kuris nurodo ar generavimo aplinka yra production - gamyba, ar development - vystymas Read More… GERIAUSIAS ĮRANKIS REDAGUOTI HUGO MARKDOWN ĮRAŠAMS? Fri, Dec 25, 2020 Pradėkim nuo to, kad tik susikūręs Hugo projektą supratau, jog įrašų kūrimo procesą reikės optimizuoti ir padaryti našesnį. Todėl pradėjau ieškoti geresno bei kokybiško įrankio markdown įrašų redagavimui. Bet ilgai ieškoti neteko, nes prisiminiau Typora redaktorių. Juo buvau naudojęsis praeityje, tad puikiai žinau apie jo nešamą naudą. Kur rasti Typora? Oficiali Typora svetainė yra čia: https://typora.io/ Redaktorius suderinamas su: Mac OS, Windows ir Linux Kaip naudoti Typora kartu su Hugo? Tai galima daryti dvejais būdais Read More… HUGO GENERATORIUS IR RSS 2.0 Fri, Dec 25, 2020 Kaip naudojantis Hugo statinių WEB puslapių generatoriumi sukurti tinkamą RSS sitemap.xml failą? Gali nebeieškoti, nes čia pateiksu trumpą ir aiškų sprendimą. Visų pirma: Patikrink ar tavo toml.config konfigūracijos failas atitinka manąjį: baseURL = "https://nerdy.artefaktas.eu/" languageCode = "en-us" title = "Altius Day" theme = "ananke" DefaultContentLanguage = "en" SectionPagesMenu = "main" Paginate = 3 googleAnalytics = "" enableRobotsTXT = true enableEmoji = true disableKinds = ["taxonomy", "taxonomyTerm"] [author] name = "Nerdy Altius" email = "admin@altiusday. Read More… HUGO GENERATORIAUS PLIUSAI IR MINUSAI Thu, Dec 24, 2020 Kaip žmogus, kuris keletą valandų smagiai pažaidė su Hugo statinių puslapių generatoriumi, tikrai galiu pateikti keletą jo pliusų ir minusų. Todėl tai ir padarysiu. Hugo pliusai Pliusai Didelis puslapių generavimo greitis Dauguma temų draugiškos mobiliesiems įrenginiams Draugiškas paieškos varikliams Laisvai kustomizuojamas Užima mažai vietos Yra galimybė iš savo svetainės padaryti PWA aplikaciją Didelis saugumas, nes nėra jokios turinio valdymo sistemos Beribis etikečių skaičius Naudojant Typora markdown failų redaktorių, įrašų kūrimas supaprastėja iki keletos kartų Hugo minusai Minusai Nedraugiškas pradedantiems naudotojams Hugo dokumentacija nėra išsami Nėra numatytosios paieškos funkcijos Nėra grafinės naudotojo sąsajos (komandos vykdomos node. Read More… KONTAKTAI Wed, Dec 23, 2020 Kontaktai bendradarbiavimui Email admin@artefaktas.eu APIE Mon, Dec 21, 2020 Svetainę kūrė ir administruoja artefaktas.eu tinklaraščio savininkas. Sveikinu apsilankius skiltyje “Apie”. Turite klausimų? Gal ko nepaminėjau? Galite parašyti elektroniniu paštu admin@artefaktas.eu ir būtinai atsakysiu. Original text Rate this translation Your feedback will be used to help improve Google Translate