http___blog.nediko.info_category_programming_javascript_1.xml
https___www.solsvivants.org_en_initiatives_.xml
1.1 6.1 7.1 8.1 11.1 12.1 14.1 15.1 16.1 16.2 16.3 16.4 16.5 17.1 21.1 22.1 22.2 22.3 22.4 24.1 25.1 26.1 31.1 36.1 37.1 38.1 38.2 38.3 38.4 39.1 40.1 41.1 42.1 42.2 43.1 44.1 45.1 45.2 46.1 47.1 47.2 48.1 48.2 49.1 50.1 50.2 51.1 51.2 51.3 52.1 52.2 52.3 52.4 52.5 53.1 53.2 54.1 55.1 55.2 56.1 56.2 57.1 57.2 58.1 58.2 59.1 60.1 61.1 61.2 61.3 62.1 63.1 64.1 65.1 66.1 67.1 68.1 70.1 71.1 72.1 73.1 74.1 75.1 75.2 75.3 75.4 75.5 75.6 75.7 76.1 77.1 78.1 79.1 80.1 81.1 82.1 82.2 82.3 83.1 83.2 84.1 85.1 86.1 87.1 87.2 87.3 88.1 89.1 90.1 91.1 92.1 94.1 94.2 94.3 94.4 95.1 95.2 96.1 98.1 98.2 98.3 100.1 100.2 100.3 101.1 102.1 103.1 105.1 105.2 106.1 108.1 109.1 109.2 110.1 111.1 112.1 113.1 113.2 114.1 114.2 114.3 115.1 116.1 117.1 118.1
parts = { Object.keys(parts).map((part) => parts[part].map((el, index) => parts[part][index] = el+1 console.log(parts); // Result: Category Archives: JavaScript SVG text as HTML background И що чак сега се сетих, че мога да ползвам SVG text като background?! И не само текст. Че даже мога да си го променям динамично през javascript! Така някои дизайни можеше да станат по-фън-шуй. По-добре късно от колкото без SVG. Едно примерче: Try it Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. function myFunction() { let txt = "SVG Txt"; let s = window.btoa(` document.querySelector("p").style.background = `url('data:image/svg+xml;base64,${s}') no-repeat top left`; Demo: text_as_background.html Simple Tile Calculator – прост калкулатор за редене на плочки Престои ми ремонт и имам нужда от нещо, което да ми смята бързо броя плочки или ламиниран паркет, като добавя фугите. За това си написах калкулатор на jacascript. Представлява обикновена web-страница. Във версия 002 на калкулатора са направени някои промени: - Кода е изцяло пренаписан, като вече е обектен, което ще ме улесни да прилагам нови методи на редене - Добавен е диагонален модел за редене на плочките - Добавен е генериран код за CAD-софтуера QCad Програмата работи с всички модерни браузери и мобилни устройства. Калкулатора може да се зареди онлайн от тук: Tile Calculator Изтегляне на калкулатора + source: Simple_Tile_Calculator-v.002.zip След разархивиране на архива може да се ползва само html-файла в основната директория. В папката source е развойната версия на калкулатора с scss-кода. Кратко видео, което показва моя начин на ползване на това тулче: Chrome Extension – how to. Кратък урок за създаване на Chrome добавка. Ще се опитам да опиша простичко, как се разработва прост extension add-on за Chrome. Понякога е много полезно да се работи с подобни скриптове, особено при скрапване на web-съдържание, когато конвенционалните методи не работят или изискват прекалено много усилия. За да се създаде подобен скрипт с потребителски интерфейс ще са ни необходими няколко файла: manifest.json – всяка добавка (extension) за Chrome (а и за другите браузери) съдържа подобен скрипт, който предоставя важна информация на браузера. Повече тук: Manifest File Format popup.html – стандартно наименование на файла с потребителския интерфейс, който се появява при клик с мишката върху добавката. Разбира се, можем да създадем добавка, която няма нужда от потребителски интерфейс, но в случая аз искам да имам. Името на този файл се посочва в manifest.json. popup.js – файл, който се зарежда чрез popup.html. Можем и да нямаме подобен файл и да поместим javascript кода направо в popup.html. Но тенденциите в модерното програмиране съветват да се диференцира всичко – стилове, скриптове, html. В моя случай popup.js е двигателя на Chrome добавката. Той посочва какво, кога и къде да се активира. getPagesSource.js – файл за инжектиране в web-страницата и извлича информацията от нея. Този файл се зарежда от popup.js. icon.png – някаква иконка, която да се показва в листата с добавките на Chrome. Нека създадем скрипт, който извлиза съдържанието на определени тагове, като използваме javascript функцията querySelectorAll(). Много приятна функция, която заменя в известна степен нуждата от XPath при web-скрапинга. Да започваме! Първо създаваме manifest.json, като описваме какво прави тая добавка: След това си правим потребителския интерфейс popup.html – бутончета, поленца, форми, стилове, каквото ни е кеф. В случая ще се огранича на минимума за моите нужди – текстово поле, бутон, слой за резултата: В по-горния скрипт се вижда, че зареждам popup.js. Неговото съдържание е следното: Чрез popup.js зарежда javascripta, който се инжектира в страницата – getPageContent.js: Това е. Сега остава да заредим добавката в Chrome. Това става като отворим More Tools -> Extensions. След това кликаме на бутона Load unpacked и избираме директорията с файловете на нашата добавка. На базата на тази добавка могат да се направят много други, тъй като съдържа базата за писане на добавки за Chrome. Сорс кода може да се изтегли от тук: Chrome_Extension-Simple.zip Кратко видео, което показва как може да се ползва добавката: Bootstrap and tinyMCE examples JavaScript обекно ориентирано програмиране – наследяване (пример) Един много прост пример за наследяване на клас в JavaScript. В случая имам клас Shape (форма), който ще разширя с клас за правоъгълник (Rectangle), който на свой ред ще разширя с клас за квадрат (Square). По-горния код е интересен, но тъй като съм го копирал и преработвал, без много да му вниквам, не е мисля, че е добър. Ето така го оптимизирах, след като попрочетох малко за ООП-то на JavaScript: За да стартирам кода използвам SublimeText2 с инсталирана приставка за стартиране на команди от шела Turtlestein, а за JavaScript интерпретатор използвам SpiderMonkey 1.8.5 for Windows. Simple JavaScript rich text format editor Прост, базов RTF редактор за сайт Дълго съм се чудил кой е най-подходящия JavaScript Wysiwyg редактор с най-много възможности за напасване към сайт. Ползвал съм NicEdit, TinyMCE и други, които сам съм писал, неподдържащи rich text format (RTF). Обаче напасването на тези редактори към различни дизайни е развибащо от към бачкане и тестване в различните браузери. Реших да почопля няколко такива редактора и да разбера кое е толкова загадъчно и сложно, за да се напише подобен редактор. Истината е тривиална и се казва – iFrame. Този таг се ползва в почти всички подобни редактори, точно заради поддръжката му на RTF. При събмитване на формата, цялото съдържание на iform се подава на textarea, който си седи удобно скрит. Това е моят редактор, без CSS-форматиране, като в примера добавям и опция за обработка на текста от базата данни, където присъства без тагове, с ексейпнати малко по-рискови символи. Съдръжанието на JavaScript файла: Сорс кода: wiswyg_by_ned.rar Demo нa кода. Калкулатор за пресмятане на течност за електронни цигари Greasemonkey scripts Ползвали ли сте Greasemonkey? Това е една изключително готина добавка за Firefox (вече и за други браузери, в Chrome 4 си я има по подразбиране), която доста улеснява живота. Greasemonkey ви позволява да промените начина по който изглежда или се държи дадена Web-страница, благодарение на малки парченца javaScript код. Greasemonkey може да се използва за персонализиране на редакторите във форумите. Как примерно да добавим бутончета към редактора за постове в Dbg: – да прави цвета на селектирания текст в синьо, а текста удебелен – да слага тагове за цитиран текст Ей го скрипта: Много готино е, че Frefox поддържа XPath! За разлика от лайното Internet Explorer (трябва да се забрани със закон и всеки потребител да подписва договор, че никога, за нищо на света няма да използва IE, ам наистина НИКОГА!). А XPath яко улеснява писането на JavaScript и неимоверно съкращава кода. Резултата може да се види на картинките по-долу. Оригинална лента: С добавените бутони: Скрипта може да се изтегли от тук: Добавяне на бутони към коментарите в DBG Между другото Greasemonkey може да автоматизира и въвеждането на информация в специални сайтове, като например онлайн игрите. Има една онлайн игра Dimiva.com, където трябва да въртиш някакво зомбирано колело и междувременно ти излизат някакви зомбирани реклами, които трябва да познаваш за какво са и да кликаш на radio-бутони под тях. Изобщо зомбирана ситуация. Използвам я само за примерен скрипт, който да маркира автоматично radio-бутоните. Спред картинката, която се зарежда, маркирам и съответния бутон. Картинките са с постоянни имена, което улеснява зомбираната ситуация. И скрипта: dimiva.com – radio clicker Ще покажа и още един пример, който обработва всички зададени тагове от дадена страница. Примерно искаме да сменим цвета на “син” на всички линкове в някой сайт. За да си спестя безмислено писане на код, отново ще използвам XPath. На сайта на филмовата база данни IMDB има много интересни класации и рейтинги на филми. Но при отварянето на някои излиза досаден банер, който те призовава да станеш ProUser. Примерна страница: http://pro.imdb.com/moviemeter/?d=tt_moviemeter_why Това е смешно… и естествено е редно да го разкараме: След като приложихме скрипта, получаваме една нормална страница: И още един скрипт за оналайн магазина SportsDirect, който скрива резултати с цена по-висока от избраната от нас. Примерно искаме да скрием всички стоки, които са с цена по-висока от 29 паунда. Файл за инсталиране: SportsDirect price filter Малко полезни линкове: http://userscripts.org/ – база данни с потребителски скриптове. Добро място за разучаване на кодирането с Greasemonkey. http://wiki.greasespot.net/ – мястото от където е добре да започнем document.evaluate – обяснение за опциите на document.evaluate JavaScript GUI – бързо, вкусно, лесно с GLUEScript Днес докато се ровех за интересни нови неща около JavaScript интепретатора на mozilla – SpiderMonkey попаднах на много интересна среда за програмиране GLUEScript, базирана на този интерпретатор. За графичния потребителски интерфейс (GUI) се използват wxWidgets. Възможността да се пишат GUI програми с JavaScript особено много ме гизкефи. JavaScript е доволно популярен и приложим език за програмиране. Информация в мрежата бол. Ето едно много просто приложение, което показва лекотата за писане с GLUEScript – температурен конвертор между Фаренхайд и Целзий: Запазваме програмата като converter_c_to_t.js и я изпълняваме през промпта или конзолата: Резултат: С WinRar можем да направим програмката изпълнимо exe, като включим всички необходими файлове: F_to_C_Converter.exe
1.1 2.1 2.2 2.3 3.1 4.1 4.2 4.3 4.4 4.5 4.6 5.1 5.2 5.3 6.1 7.1 8.1 9.1 10.1 11.1 12.1 13.1 14.1 14.2 14.3 15.1 15.2 16.1 17.1 18.1 19.1 19.2 19.3 20.1 21.1 22.1 23.1 23.2 24.1 26.1 26.2 26.3 27.1 27.2 27.3 28.1 28.2 28.3 29.1 29.2 29.3 30.1 30.2 30.3 31.1 31.2 31.3 32.1 32.2 33.1 33.2 34.1 34.2 35.1 35.2 36.1 36.2 36.3 37.1 38.1 38.2 38.3 38.4 39.1 40.1 40.2 40.3 41.1 41.2 42.1 42.2 42.3 43.1 43.2
The Living Soils initiative We need to rethink our approach to our productive ecosystems. At the heart of this ecosystem lies something extremely precious that connects us all: Earth. Regenerating earth must be a central pillar of agricultural and food system transition, starting by the regeneration of soils. Why are living soils a fundamental pillar of regenerative agriculture? Agricultural soils represent a little over 7% of the planet’s surface. Soils are fundamental to feeding our global population. Taking care of soil is essential to ensure agriculture’s resilience and the sustainability of our food production. Around the world, women and men are already transforming agricultural practices to work with Nature instead of working against it. They conciliate productivity and ecology by reducing tillage, ensuring permanent plant cover on fields and multi-cropping. These practices enrich soils in organic matter and improve soil fertility while boosting ecosystem services. These powerful solutions help preserve soil biodiversity, improve water infiltration, enhance carbon sequestration capacity and boost soil microbiome activity all the while contributing to higher productivity of the land. Did you know that on just one hectare of land up to 2 tons of earthworms can live and naturally work the soil? They help soils act as gigantic sponges that retain water – an essential function in times of drought or heavy rains. Experts agree that soils rich in humus and biodiversity represent one of the most promising solutions to tackle the climate emergency without having to compromise on productivity and the quality of production. Find out more about regenerative agriculture through this illustrated explanation Living Soil Benefits Good quality of production Ecosystem services (biodiversity, water retention, carbon storage) Maintained productivity Recognition to farmers for their progressive approach What does the Living Soils Initiative propose concretely? Our mission is to contribute to a wide-spread uptake of agricultural, commercial and investment practices that foster “living soils” and are aligned with the concept of regenerative agriculture. Together with engaged farmers we’re accelerating the adoption of more progressive practices and economic models in support of this shift. This is how we will be able to propose to citizen-consumers healthier local agricultural products that contribute to true resilience of farmers and the environment. The success of such an endeavor lies in a unique collaborative approach between all value-chain actors from farm to fork: farmers, the agri-food companies, distributors, scientists, policy makers, shareholders and agronomists… Living soils brings together these actors in the land where they live and operate to think in realistic and pragmatic ways about soils and the form of regenerative agriculture that creates transformative solutions. We create tools and solutions to accompany farmers, and to track and provide financial support for the transition. ORGANISATION Living Soils is an initiative of Earthworm Foundation. The purpose of Earthworm, as an international non-profit foundation, is to bring about value chain transformation in support of environmental and social sustainability. The products we consume every day have the highest impact on our planet. Changing the way we produce these can change the world! We act as a catalyst to link actors of different universes to one another and help them create pragmatic solutions together. We have a history of working on forest conservation and regeneration since 1999. Governance The Living Soils initiative aims to accelerate soil regeneration through a collaborative approach at the scale of a supply chain or landscape. Farmers, scientits, ccompanies and other actors in the landscape take action to regenerate soil fertility. The Partner committee brings together the whole range of actors, scientists, farmers, companies, professionals, training staff and communication entities involved in the program to celebrate successes and propose paths to further develop the initiative. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Working groups consist of engaged individuals who wish to drive action around topics such as support for farmers, financing the transition, supply chain innovation or communication. They gather 3 to 4 times each year to design specific roadmaps and action plans to make regenerative agriculture a reality on the fields. This working group aims to connect financial institutions with the other actors of the transition to co-create solutions at the scale of the landscape and the value chain. The key areas include payments for ecosystem services, increasing market value of products from regenerative agriculture, mitigation of risks linked to the transition (decreased yields during the learning phase e.g.), necessary investments for the transition such as human resources in cooperatives, technology, supplies and tools. The objective of this working group is to coordinate efforts within supply chains to promote and develop market opportunities for products from regenerative agriculture. The WG will connect the animal feed sector and new supply chains for human nutrition on emergent topics: the development of news crops to relocate plant-based protein. Well coordinated communication is essential to showcase progress made by program members. It is to create a space for companies to align external communication activities about Living Soils and regenerative agriculture. One of the key elements of the transition is the provision of technical support for farmers on the ground to facilitate adoption of the new practices. Discussions within the working group will be structured to allow for a coordinated approach in support and training for the farmers and supply chain actors in the landscape. Key activities will focus on competency building on regenerative agriculture, linking key actors in the landscape to one another and promotion of group trainings for farmers on innovation and new practices. Our team ” I’ve been fascinated by Earth since I was a child. I only understood the vast potential of life in soils much later, when I was working as an advisor for farmers on fertilisation practices in England and Argentina. I realized that they could produce more with less input if they only allowed their fields to harmoniously align with some fundamental principles of nature that keep ecosystems productive, resilient and rich in every sense of the word. I now believe that it is possible to bring about deep transformation in the way we interact with the living world by making supply chain actors work hand-in-hand and eliminating oppositions. I believe an environment of solutions is much more effective than an environment of punishments.” “I’m an engineer by degree and have always been passionate about the questions around agroecological transition. This is what made pushed me to study agronomy and join the Living Soils program in April 2019. What I’m most inspired about in the program is the creation of links between value chain actors, farmers and companies and the awareness raising about Living Soils among all actors.” « For me – holding a degree as a biologist and another in business administration – putting nature at the heart of value chains is the only model that will allow our society to survive and thrive. The Living Soils project also aligns with my other passion: creating value in our land by promoting short supply chains.” “Agriculture’s transition towards agroecology can provide answers to the challenges of food security, the fight against climate change and the preservation of the environment. The Living Soils program has a vision for agriculture that is more sustainable, resilient and one which values farmers and their work. I am delighted to be dedicated to this work.” “I am an agricultural engineer, coming from the world of farming. I see the Living Soils program and the movement for regenerative agriculture as a strong driver of agricultural resilience ensuring improved environmental, economic and agricultural sustainability”