Bifurcate personal blog and studio website

This commit is contained in:
Raghavendra Kamath 2021-04-13 16:57:45 +05:30
parent 12500e942f
commit a7845a7d34
Signed by: raghukamath
GPG Key ID: E48B3E545FEFD8BD
50 changed files with 687 additions and 1039 deletions

View File

@ -1,32 +0,0 @@
FROM debian:9 as builder
COPY . /var/www/blog
# Install packages
RUN apt-get -qq update \
&& DEBIAN_FRONTEND=noninteractive apt-get -qq install -y --no-install-recommends \
python-pygments \
git \
ca-certificates \
asciidoc \
curl \
&& rm -rf /var/lib/apt/lists/*
# Download and install hugo
ENV HUGO_VERSION 0.60.1
ENV HUGO_BINARY hugo_${HUGO_VERSION}_Linux-64bit.deb
RUN curl -sL -o /tmp/hugo.deb \
https://github.com/spf13/hugo/releases/download/v${HUGO_VERSION}/${HUGO_BINARY} \
&& dpkg -i /tmp/hugo.deb \
&& rm /tmp/hugo.deb \
&& mkdir -p /var/www/blog
WORKDIR /var/www/blog
RUN hugo
# Distributable image layer
FROM nginx:alpine
COPY --from=builder /var/www/blog/public/ /usr/share/nginx/html

View File

@ -1,10 +0,0 @@
+++
title = "{{ replace .Name "-" " " | title }}"
date = {{ .Date }}
thumb = "/img/"
tags = [""]
keywords = [""]
description = ""
client = ""
+++

View File

@ -6,32 +6,41 @@ summaryLength = 140
pluralizeListTitles = "false"
show_reading_time = "true"
disableKinds = ["taxonomyTerm"]
pygmentsUseClasses = true
[permalinks]
tags = "/:slug/"
[taxonomies]
tag = "tags"
[related]
includeNewer = true
threshold = 50
toLower = false
[[related.indices]]
name = "tags"
weight = 80
[params]
author = "Raghavendra Kamath"
description = "A freelance digital artist and designer from Mumbai, specializing in advertising, editorial and comic book illustration, using only free and open source software"
keywords = "raghukamath, Freelance Illustrator, vector, realistic, illustration, Krita, india, open, source, illustrator, digital painting, GIMP, Inkscape, mumbai"
mainSections = ["works", "journal"]
[menu]
[[menu.main]]
name = "works"
url = "/works/"
weight = 1
name = "Studio"
url = "https://emblik.studio"
weight = 3
[[menu.main]]
name = "about"
identifier = "about"
url = "/about/"
weight = 3
weight = 1
[[menu.main]]
name = "journal"
@ -49,3 +58,16 @@ disableKinds = ["taxonomyTerm"]
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true
[markup.highlight]
anchorLineNos = false
codeFences = true
guessSyntax = true
hl_Lines = ""
lineAnchors = ""
lineNoStart = 1
lineNos= false
lineNumbersInTable = true
noClasses = false
style = "friendly"
tabWidth = 4

View File

@ -12,8 +12,9 @@ For commission requests and enquiries please mail me with complete details of th
## Contacting on other platforms
- IRC - raghukamath (#freenode)
- Matrix - [@raghukamath](https://matrix.to/#/@raghukamath:matrix.org) (Alternative to whatsapp and telegram)
- Matrix - [@raghukamath](https://matrix.to/#/@raghu:emblik.studio) (Alternative to whatsapp and telegram)
- Mastodon - [raghukamath@mastodon.art](https://mastodon.art/@raghukamath) (Free alternative to Twitter)
- Invent - [kamathraghavendra](https://invent.kde.org/kamathraghavendra) (KDE community code repository)
- Dribble - [raghukamath](https://dribbble.com/raghukamath)
- My Studio - [emblik.studio](https://emblik.studio)
- [My PGP key](https://raghukamath.com//downloads/public-key-raghu@raghukamath.com.txt)

View File

@ -8,27 +8,25 @@ description = "My opinion and workflow about working in CMYK from start to finis
draft = false
+++
Over the years it has been an unspoken rule to choose CMYK right at the start when creating new documents for artworks that are going to be printed. Many old-timers may remember working in CMYK from start to finish carefully choosing colors and keeping an eye on the out of gamut warnings while color picking. Despite the effort of these people it would often lead to unsatisfactory results.
Over the years it has been an unspoken rule to choose CMYK right at the start when creating new documents for artworks that are going to be printed. Many old-timers may remember working in CMYK from start to finish, carefully choosing colors and keeping an eye on the out of gamut warnings while color picking. Despite such efforts it would often lead to unsatisfactory results.
In the Free Software side of the world, many users demand the CMYK support in apps and tell the developers that it is the single most reason they don't want to switch. So the question here is - Is working in CMYK from start to finish worth it? Are Free Software tools capable of CMYK workflow?
In the Free Software side of the world, many users demand CMYK support in applications and tell the developers that CMYK support it is the single most reason they don't want to switch from the proprietary counterparts. So the question here is - Is working in CMYK from start to finish worth it? Are Free Software tools capable of CMYK workflow?
I would say no for choosing CMYK as default workspace for working and also that Free software tools nowadays are more than capable to handle CMYK in your workflow.
I would say no for choosing CMYK as the default colour-space for working and also that Free software tools nowadays are more than capable to handle CMYK in your workflow.
You lose many things just to chase down an unpredictable result. The first and foremost is that you lose a great number of color choices. You lose the ability to add filters, you get only a few blend modes to choose from and above all you limit your artwork to be in a color profile which is slowly losing its foothold. Nowadays Many people consume media on screen rather than paper. So it is very silly to target only one section of the audience.
The reason I do not suggest in working in CMYK from the start is you lose many things just by trying to chase an unpredictable result. The first and foremost is that you lose a great number of color choices. You lose the ability to add filters, you get only a few blend modes to choose from, and above all, you limit your artwork to be in a color profile which is slowly losing its foothold. Nowadays Many people consume media on screen rather than on paper. So it is very silly to target only one section of the audience. If you work in RGB you are not restricted with the number of colors, filters or blend modes, etc. You can also convert your artwork later for print consumption.
If you work in RGB you are not restricted with the number of colors, filters or blend modes, etc. You can also convert your artwork later for print consumption.
Now let us see how CMYK is unpredictable. Getting your artwork printed exactly as you see on the screen is an uphill battle. You need to have color corrected and calibrated monitor, You have to know exactly on which paper your artwork is going to be printed. And most important point is that you would need to have the color profile of the printer that you are going to use. Each printer has a different color profile. And then the printer needs to be calibrated too.
Now let us see how CMYK is unpredictable. Getting your artwork printed exactly as you see on the screen is an uphill battle. You need to have color corrected and calibrated monitor, You have to know exactly on which paper your artwork is going to be printed. And the most important of all, you would need to have the color profile of the printer that you are going to use. Each printer has a different color profile, then the printer needs to be calibrated too.
If you haven't ever asked for the color profile from your print shop then you have been doing it wrong all the time. From what I have seen many artists even those working in big agencies and companies just use the default SWOP profile and move on with their work. Their work gets printed in a sheet fed printer and they don't even know that they are using a profile meant for the web press. And even if they use the SWOP profile the guys at the print shop do the conversion to the final color profile anyway. So in the end, I find the effort of these people wasted.
If you haven't ever asked for the colour profile from your print shop then you have been doing it wrong all this time. From what I have seen many artists even those working in big agencies and companies just use the default SWOP profile and move on with their work. Their work gets printed in a sheetfed printer and they don't even know that they are using a profile meant for the web press. And even if they use the SWOP profile the guys at the print shop do the conversion to the final color profile anyway. So in the end, I find the effort of these people wasted.
## What is my workflow?
I do all my work in RGB and later based on the requirement I convert my artworks to CMYK. When I am working with a client, I ask them to provide a color profile from the print shop. Most of the time my clients get the conversions done at the printer and since the artwork will be used in various mediums, they don't ask the artwork in CMYK from me. And besides most print shops are now advanced enough to accept RGB images. The color profile I get from the print shop is created after taking into consideration various factors such as the performance of the printer, the type of paper which is going to be used, type of printing method, quality of inks, etc. The people at the print shop know about the printer better than I do so the color profile that they provide is going to be the best.
I do all my work in RGB and later based on the requirement I convert my artworks to CMYK. When I am working with a client, I ask them to provide a color profile from the print shop. Most of the time my clients get the conversions done at the printer and since the artwork will be used in various mediums, they don't ask for the artwork in CMYK from me. And besides most print shops are now advanced enough to accept RGB images. The color profile I get from the print shop is created after taking into consideration various factors such as the performance of the printer, the type of paper which is going to be used, type of printing method, quality of inks, etc. The people at the print shop know about the printer better than I do so the color profile that they provide is going to be the best.
Then I import this colour profile in [Krita](https://krita.org) or [Scribus](https://www.scribus.net/) and then I check if my colors are beyond the printer's color gamut. This is called soft proofing. Contrary to the naysayers, both Krita and Scribus (Free Software tools) have this capability. So even if I do my artwork in [GIMP](https://www.gimp.org/) or [Inkscape](https://inkscape.org/). I can always import my artwork in Krita or Scribus to proof the colours. Krita and Scribus will warn you about any colour that is out of range and you can correct those colours. Since my monitor is calibrated I don't have to worry about the truthfulness of what I see on my screen. When I am satisfied I save a copy of the artwork which is flattened and then converted to the target color profile with correct rendering intent. This file is sent for Hard proofing i.e. getting an actual sample print. This clears any remaining discrepancies that may come in later due to the factors such as quality and texture of paper type of inks etc.
I have been using this workflow for many years and I have seldom got any muddy prints. So in my opinion working in only CMYK is not worth it, you should work in RGB and then convert it to printers CMYK profile for the final print. Besides, you can choose to work with some other print shop in the future which will have a different color profile, so it doesn't make sense to keep your open files in one obscure CMYK color profile.
I have been using this workflow for many years and I have seldom got any muddy prints. So in my opinion working in the only CMYK is not worth it, you should work in RGB and then convert it to printers CMYK profile for the final print. Besides, you can choose to work with some other print shop in the future which will have a different color profile, so it doesn't make sense to keep your open files in one obscure CMYK color profile.
What is your opinion and what is your workflow? I would be glad to hear them.

View File

@ -14,45 +14,21 @@ slug = "switch-to-freedom"
"A foolish person only learns about fire when he burns himself".
</blockquote>
This is a phrase in my mother tongue, After being burnt by closed source
software I finally made the switch to Free and Open source
Software. This is but this particular experience is new to me and I felt
like I should share it.
This is a phrase in my mother tongue, After being burnt by closed source software I finally made the switch to Free and Open source Software. This is but this particular experience is new to me and I felt like I should share it.
In 2009, after much research and reading countless reviews, I bought a
Dell laptop for my sister. I had purchased a laptop without an OS on it.
Well it came with basic Free-DOS installed on it.
In 2009, after much research and reading countless reviews, I bought a Dell laptop for my sister. I had purchased a laptop without an OS on it. Well it came with basic Free-DOS installed on it.
I got the delivery at night, and like any other gadget that I bought I
was excited and started to set it up without wasting any time. I had
downloaded a Linux distribution called "Ubuntu" beforehand.
I got the delivery at night, and like any other gadget that I bought I was excited and started to set it up without wasting any time. I had downloaded a Linux distribution called “Ubuntu” beforehand.
Unless you muster up your will and plunge into the water. You won't
learn how to swim. Without any deep knowledge of Linux, I installed it
slowly by reading guides and help forums. My internet connection was not
good since my neighbourhood had not yet dreamt of Fiber or broadband, I
downloaded and finished installing the OS till 6 AM with good PPP and
dialup connection from local ISP.
Unless you muster up your will and plunge into the water. You wont learn how to swim. Without any deep knowledge of Linux, I installed it slowly by reading guides and help forums. My internet connection was not good since my neighbourhood had not yet dreamt of Fibre or broadband, I downloaded and finished installing the OS till 6 AM with good PPP and dial-up connection from local ISP.
I was greeted by the purplish and orange wallpaper, I poked around a bit
and I liked it. It was working great, I wondered how can someone give a
whole Operating System for free and that too with all the tools that are
needed for daily task without even charging a penny. My sister liked it
too. She still uses that laptop with Ubuntu 14.10 on it.
I was greeted by the purplish and orange wallpaper, I poked around a bit and I liked it. It was working great, I wondered how can someone give a whole Operating System for free and that too with all the tools that are needed for daily task without even charging a penny. My sister liked it too. She still uses that laptop with Ubuntu 14.10 on it.
I was smitten by the idea and philosophy of Libre software and having
complete control over your system and not having hardware upgrades
forced on me was cherry on top of the cake. But as a professional
Illustrator and designer, I couldn't justify the switch. My heart was
telling me to take a leap of faith but my brain was rejecting the idea,
because of lack of software for illustration and graphic design on
Linux. I knew about gimp, but I had no time to adjust to a new work flow
and some other workarounds were time-consuming. This was my initial
assessment as a novice.
I was smitten by the idea and philosophy of Libre software and having complete control over your system and not having hardware upgrades forced on me was cherry on top of the cake. But as a professional Illustrator and designer, I couldnt justify the switch. My heart was telling me to take a leap of faith, but my brain was rejecting the idea, because of lack of software for illustration and graphic design on Linux. I knew about gimp, but I had no time to adjust to a new work flow and some other workarounds were time-consuming. This was my initial assessment as a novice.
## The Breaking Point
I had Windows 7 on my desktop workstation it got upgraded to windows 8,
I had Windows 7 on my desktop workstation it got upgraded to Windows 8,
I had Adobe's Creative Cloud subscription and my work flow was near
perfect. Then one day I read somewhere on Adobe's forum, that if the
Creative cloud subscription ends one couldn't open their software. Which
@ -63,7 +39,7 @@ created all these years. It was in fact, no rent no key to the house
along with your belongings that are within the house. How can I justify
paying rent to get access to my own creations, this idea seemed stupid
to me. Some people on the online forums suggested that I should stick to
cs6 but that will be outdated soon and I can't rely on it.
cs6 but that will be outdated soon, and I can't rely on it.
Also, Windows and Photoshop was being updated with new options and
features continuously, to run them I needed to upgrade my hardware with
@ -80,10 +56,10 @@ clear my mind. Now my mind and heart were all singing in sync.
I immediately started preparing for the transition. Most of the open
source applications that I found suitable for my work flow also had
windows executable, I downloaded them and tested them on windows
windows executable, I downloaded them and tested them on Windows
beforehand. I slowly converted all the files to open format wherever
required, I converted my Photoshop brush tips to pngs, I converted my
color swatches, shapes and other assets for the switch.
required, I converted my Photoshop brush tips to PNGs, I converted my
colour swatches, shapes and other assets for the switch.
Now some of you might wonder if the open source application had windows
packages then why am I making a switch to Linux. The answer is
@ -114,7 +90,7 @@ improvements for my workflow that I cannot write it all here.
I suggest you to [download](https://krita.org/download/krita-desktop/)
it and use it yourself to know how good it is. I also warn you that is
not jack of all trades like Photoshop but a master application only
not jack of all trades like Photoshop, but a master application only
meant for painting and creating original artworks.
Other software that I use are [Inkscape](https://inkscape.org/en/),
@ -135,9 +111,9 @@ backup which also includes all the settings and assets of my software. I
just need to install the OS and restore the backup. All my files and
favourites brushes, swatches etc are there. I can do whatever I want
with my system, My OS works below 1gb of ram without coming in my way,
without all those update popups or restarts popups. If I want some
software all I have to do is write "sudo apt-get install <software
name>" in terminal and boom! I have it installed it's that flexible. If
without all those update pop-ups or restarts pop-ups. If I want some
software all I have to do is write `sudo apt-get install <software
name>` in terminal and boom! I have it installed it's that flexible. If
I don't like the way Ubuntu is, I have a choice of hundreds of other
[Linux distributions](http://distrowatch.com/) to try.

View File

@ -14,4 +14,4 @@ I recorded the process of the painting, below is the time lapse video of the pro
{{< video src="/videos/Festival-of-lights-Made-in-Krita.mp4" poster="festival-of-light.jpg" type="mp4" >}}
The completed illustration can be found [here](http://raghukamath.com/works/festival-of-lights).
The completed illustration can be found [here](http://raghukamath.com/img/festival-of-light.jpg).

View File

@ -1,8 +1,7 @@
+++
title = "Quick Tips 001 How To Add Clipping Masks In Krita"
title = "How To Add Clipping Masks In Krita?"
date = "2020-06-08T18:48:00+05:30"
tags = ["Krita", "CC-BY", "open source", "tutorials" ]
tags = ["Krita", "CC-BY", "open source", "tutorials", "Quick Tips" ]
thumb = "/img/videos-thumbs/qt001-thumb-01.jpg"
description = "This is the first episode in the quick tip series. Let us check how to add clipping masks in Krita."
keywords = ["krita", "Basics", "Tutorial", "digital art with foss", "interface basics", "UI", "krita" ]

View File

@ -0,0 +1,16 @@
+++
title = "How to auto colorize line art in Krita?"
date = "2020-08-28T18:48:00+05:30"
tags = ["Krita", "CC-BY", "open source", "tutorials", "Quick Tips"]
thumb = "/img/videos-thumbs/qt002-thumb-01.jpg"
description = "Second episode in the quick tip series. Let us check how to auto colorize line art in Krita."
keywords = ["krita", "Basics", "Tutorial", "digital art with foss", "color", "line art", "krita" ]
slug = "quick-tips-002"
+++
This is the second episode in the quick tip series. Let us check how to add clipping masks in Krita.
{{< video src="/videos/002-colorize-mask.mp4" poster="qt002-thumb-ep02.jpg" type="mp4" >}}
[Download the video](/videos/002-colorize-mask.mp4)

View File

@ -0,0 +1,142 @@
+++
title = "How to translate Krita to your own language?"
date = 2021-04-04T12:00:44+05:30
thumb = "/journal/how-to-translate-krita/translate-hero.jpg"
tags = ["translation", "open source"]
keywords = ["Free Software", "tools", "hardware", "krita"]
description = "A step by step guide for translating Krita's UI into your native language"
+++
While painting in Krita one day, out of curiosity I switched the application language to Hindi which is one of the major local language in India.
Some parts of the UI were translated but most of it was untranslated. I thought about fixing this problem and started to research about how to get started in translating.
![Krita translated UI](screenshot.png)
While there are many workflows for translating I found Lokalize to be the easiest one of them.
I started using [Lokalize](https://apps.kde.org/en/lokalize) & [svn](https://en.wikipedia.org/wiki/Apache_Subversion) to work on Hindi translations for KDE.
The [Lokalize handbook](https://docs.kde.org/stable5/en/lokalize/lokalize/index.html) is a good resource, but I felt that I needed more simplified step-by-step guide to set up the work environment and get started. After setting it up for my self, I am sharing it here so that any new Lokalize & svn user will find it easy. This post covers the process in step by step to help others translate Krita or any of the KDE apps in their local language and contribute to the KDE translation team. This guide is made for Linux users, but you can use it for other platforms too except for the step where we install the software. I plan to update these instructions in future to cover how to do this on Windows platform too. So here it goes.
## 1. Install Lokalize and Subversion
We will install Lokalize the KDE's translation software and Subversion a version control system software from our distribution's repository.
```bash
$ sudo apt install lokalize subversion # for ubuntu/debian distros
$ sudo dnf install lokalize subversion # for Fedora the distribution that I am using.
```
## 2. Create working folders
We will create a parent folder which will have the source and output folder for our translations. You can do this step from your file explorer too.
```bash
# Make a parent folder where we will have our translation work
mkdir translations
cd translation
```
## 3. Clone the source and target
The following command clones the Hindi (hi) folder where we will save
the translated .PO files. This will we cloned inside the translation folder.
```bash
svn co svn://anonsvn.kde.org/home/kde/branches/stable/l10n-kf5/hi
```
The following command clones the template folder where the original
untranslated .pot files are stored. We take these .pot files and add
translations to them, save them as .po file in the hi folder under relevant
project sub folder. Lokalize does this automatically for us.
```bash
svn co svn://anonsvn.kde.org/home/kde/branches/stable/l10n-kf5/templates
```
<blockquote class="quote">
<b>Note</b> - We are cloning from the <b>stable</b> folder, since Krita takes translation at releases time from this. If you want to work on the blleding edge version of Krita or any application you can clone the language sub flder <b>trunk</b> folder. Browse the translation repository here -> https://websvn.kde.org/
</blockquote>
Once we have cloned both folder in to our machine, the directory structure will be:
```
translations (parent folder)
|----> hi (sub folder)
|----> templates (sub folder)
```
![Screenshot of folder structure](screenshot-02.png)
## 4. Set up Lokalize
1. Open Lokalize and go to **`Settings > Configure Lokalize`**
2. In the identities tab put your name email and choose the default language
as Hindi (hi). Default mailing list - kde-l10n-hi at kde.org. Default language
team - Kde-hindi and lastly add your name in hindi for lokalized name.
![Screenshot of settings](screenshot-03.png)
## 5. Set up our project.
1. To open our project go to - **`Project > Open Project`**
2. Browse to the hi folder that we cloned earlier and choose the
index.lokalize file present in the folder. It will fetch all the translations
and files and will show the status of translations in the project overview tab.
The Red progress bar means there is no translation yet, green means translated
and yellow means the string has changed and the translation needs an update.
3. Make sure the project is correctly set up. Go to **`projects > configure projects`** and check the details in the general and advanced section:
**General**
ID: kde-hi
Target language: Hindi(hi)
Mailing list: kde-l10n-hi at kde.org
Root folder : path of the hi folder that we cloned
Glossary: path_of_the_hi_folder/terms.tbx
![Screenshot of settings](screenshot-04.png)
**Advanced** (Paths subsection)
Template files folder: path to the templates folder we cloned earlier
Branch Folder: path to the hi folder
![Screenshot of settings](screenshot-05.png)
## 6. Get started
Now that we have set up Lokalize, familiarize yourself to its UI by reading the [Lokalize handbook](https://docs.kde.org/stable5/en/lokalize/lokalize/index.html). If you are working on Hindi translations read the Hindi translation style guide given [here](https://raghukamath.com/downloads/fuel-translation-style-and-convention-guide-hi.pdf). This style guide for Hindi was created by Rajesh Ranjan of the [Fuel Project](https://fuelproject.org/) and is licensed under [CC-BY-SA 3.0](http://creativecommons.org/licenses/by-sa/3.0/). You may request your translation team for the style guide for your language. And start working 😃 👍🏽
![Screenshot of settings](screenshot-06.png)
If you are translating not just Krita but also other KDE application then choose a small project first to get the understanding of the language and then add in your translations. For translating Krita generally the translation team [recommends](https://marc.info/?l=kde-i18n-doc&m=161213638918799&w=2) starting with the libraries that Krita uses. Because translating only the Krita.po file is not enough and some part of the Krita UI generated from the libraries. The libraries are:
- KConfig
- KWidgetsAddons
- KCompletion
- KCoreAddons
- KGuiAddons
- KI18n
- KItemModels
- KItemViews
- KWindowSystem
These can be found in the [svn repository](https://websvn.kde.org/), and we have already cloned the entire repository, so you can search for these through Lokalize.
## 7. Checking and submitting your translations
Once you have done translating and are ready to send your translations for review you
must first check for any errors. The following commands can help you in checking the translated files for any error.
```bash
msgfmt --check <your_newly_translated_file.po>
```
It will give you line numbers if there are any error, which you have to
correct.
Now after the file is error free, send a mail to [this mailing list](https://mail.kde.org/cgi-bin/mailman/listinfo/kde-l10n-hi) for Hindi and or the mailing list of the translation team of your language. Let us know that you have completed the translation for a project and want to request review. Someone will answer your mail and then send them the files. They will review it and commit to the main repository.
If you are working on Hindi translations you can also ping me on matrix or directly join our matrix room [here](https://matrix.to/#/#kde-hindi:kde.org?via=kde.org&via=matrix.org).
<blockquote class="quote">
<b>Note</b> - I am also a new contributor so some of the steps may be long or may have some other way of doing it. If anyone notices any error please correct me by commenting here.
</blockquote>

View File

@ -8,10 +8,10 @@ description = "The variety of tools that I use for my work and day to day tasks"
draft = false
+++
I have [written]( {{<relref "/journal/Switch-to-Freedom" >}} ) earlier about how I made the switch to free software workflow and the experience I had after making the switch. It has been 6 years since then and I havent yet regretted my decision or found any trouble doing my work. Here is a list of software, hardware, and other tools that I use for day to day [work]( {{<relref "/works" >}}), entertainment, and computing needs. I will try to keep this page updated as I include more tools or drop some of them in the future. Apart from this list, I will write another post explaining in more detail the software that I use.
I have [written]( {{<relref "/journal/Switch-to-Freedom" >}} ) earlier about how I made the switch to free software workflow and the experience I had after making the switch. It has been 6 years since then and I havent yet regretted my decision or found any trouble doing my work. Here is a list of software, hardware, and other tools that I use for day to day work, entertainment, and computing needs. I will try to keep this page updated as I include more tools or drop some of them in the future. Apart from this list, I will write another post explaining in more detail the software that I use.
## On My Desk 🖥
## On My Desk 👨🏽‍💻
![My Desk](EUDXl3DUwAATK54.jpg)
@ -35,7 +35,7 @@ I have [written]( {{<relref "/journal/Switch-to-Freedom" >}} ) earlier about how
![My desktop](screenshot.png)
- [Arch Linux](https://www.archlinux.org/) - Bleeding edge no non-sense Linux (zen kernel) based operating system.
- [Fedora Linux](https://getfedora.org/) - A GNU/linux based operating system.
- [KDE Plasma 5](https://kde.org/plasma-desktop) - Simple yet powerful desktop environment with feature rich apps such as Konsole Kate etc.
- [Krita](https://krita.org) - A very robust professional digital painting application.
- [Mypaint](http://mypaint.org/) - A lightweight sketching and painting application
@ -46,11 +46,11 @@ I have [written]( {{<relref "/journal/Switch-to-Freedom" >}} ) earlier about how
- [Borg](https://www.borgbackup.org/) + [btrbk](https://digint.ch/btrbk/) - For incremental daily and hourly backups on internal as well as external disks.
- [Nextcloud](https://nextcloud.com/) - File, contacts, todo list & calendar sync.
- Kmail - KDE's mail application.
- [Element](https://element.io/) & [Quassel](https://quassel-irc.org/) - for IRC and chat with friends and family
- [Element](https://element.io/) - for IRC and chat with friends and family
## Self-Hosted software 🌐
## Self-Hosted software 🌏
- [Bitwarden](https://github.com/dani-garcia/bitwarden_rs) - Password manager.
- [Mailinabox](https://mailinabox.email/) - Email and cloud hosting solution.
- [Wallabag](https://www.wallabag.it/en/) - Save or archive articles for later reading.
- Quassel - IRC client.
- [Fresh RSS](https://freshrss.org/) - RSS feed aggregator.
- [Matrix](https://matrix.org/) - Chat server.
- [MiniFlux](https://miniflux.app/) - RSS feed aggregator.

View File

@ -22,5 +22,7 @@ next time.
{{< video src="/videos/Illustrating_a_Character_in_Krita_Part_2.mp4" poster="maharaja-part2.jpg" type="mp4" >}}
The completed illustration can be found [here](http://raghukamath.com/img/maharaja.jpg).
P.S. I am in love with this application - [Krita](https://krita.org/).
Let me know what you think.

View File

@ -35,23 +35,23 @@ you.
This website is built by using a static site generator called
[Hugo](https://gohugo.io/), the source code for the website is available for
inspection [here](https://gitlab.com/raghukamath/website-raghukamath.com).
I do not use any third party analytics or trackers like google analytics etc.
If in future I decide to use any analytics to analyze traffic coming to the
website, it will be hosted on my own server and this document will be updated
to inform you about the data that is being collected. I also do not use any
content delivery network services to serve fonts, images or videos on my
website. If in any of my blog posts, I embed a video hosted by a third party, I
I do not use any content delivery network services to serve fonts, images or videos on my
website. If I embed a video hosted by a third party in any of my blog posts, I
will mention it on that blog post and link you to the privacy policy of the
service, as they may collect information about you.
## Information about the Data collected
### Analytics
I do not use any kind of third party analytics on this website.
### Comments
The commenting service on this website is made possible by an open source self
hosted commenting system called [commento](https://www.commento.io). This
service is hosted on my own server and no third party has access to this.
## Information about the Data collected
### Comments
When you login to make the comment on any of my blog post or articles, you
will be prompted to provide an email address, name, and password. In addition
to this, your IP address is stored in server logs when you access the website.
@ -64,25 +64,17 @@ that is stored is your IP address used to access the website.
### Cookies
When you choose to authenticate yourself to comment, a unique randomly
generated token ("Session") will be stored as a cookie in your browser in order
to remember you on future visits. If you are not logged in, no cookies will be
stored in your browser
When you choose to authenticate yourself to comment, a unique randomly generated token ("Session") will be stored as a cookie in your browser in order
to remember you on future visits. If you are not logged in, no cookies will be stored in your browser.
## Data protection
## Data Collection, protection and retention
I serve this website with secure http connections. When you visit this website, the server collects these data in its log file:
The log files which record your IP address and the data collected for the
commenting system are stored on a server which only I can access. In an
unfortunate event of a data breach, your email and password may leak to the
hacker, so I suggest not using the same password you use elsewhere, to make an
account here. I would try to mitigate the breach in a transparent and best way
possible to me. If you notice any misuse or breach of data, you can immediately
contact me via my email address - raghu@raghukamath.com. If you want the data
associated to you, like comments email etc to be deleted, please mail me. If it
is possible to export and segregate your data, I may send you your data on
request via mail. However I would need some way to authenticate that the data
actually belongs to you unless I am sure, I won't oblige to the request.
- IP address
- Name and type of your browser (User Agent)
- Name of your Operating System
- Time of your visit.
Thank you for taking time to read this, if you have any more questions please
feel free to email me - raghu@raghukamath.com.
I collect this data to determine safety and stability of system and for diagnosing the problem in case of a breach. The log files are stored for 14 days and then discarded completely by the server automatically. The log files which collect the data are stored on a server which only I can access. In an unfortunate event of a data breach, I would try to mitigate the breach in a transparent and best way possible to me. If you notice any misuse or breach of data, you can immediately contact me via my email address - raghu+privacy@emblik.studio.
Thank you for taking time to read this, if you have any more questions please feel free to email me - raghu+privacy@emblik.studio

View File

@ -12,9 +12,10 @@ I will try to maintain a list of books and e-books that I am currently reading a
## Currently Reading 📖
|Title | Author | Started on |
|:------:|:------------------:|:--------------:|
|[रश्मिरथी](https://en.wikipedia.org/wiki/Rashmirathi) | श्री रामधारी सिंह "दिनकर" | 21 July 2020 |
|Title | Author | Started on | Finished |
|:------:|:------------------:|:--------------:|:--------------:|
|[रश्मिरथी](https://en.wikipedia.org/wiki/Rashmirathi) | श्री रामधारी सिंह "दिनकर" | 21 July 2020 | 25 August 2020 |
|Programming: Principles and Practice Using C++ | Bjarne Stroustrup | 25 August 2020 | -- |

View File

@ -1,18 +0,0 @@
+++
title = "Illustration for Pidilite Dklog"
date = 2015-11-30T18:27:00+05:30
workthumb = "/img/D-klog-thumb-300x300.jpg"
thumb = "/img/D-klog-thumb-600.jpg"
tags = ["realistic"]
client = "pidilite"
keywords = ["Pidilite", "illustrations", "d-klog", "pidilite india", "krita", "Linux", "floss painting"]
slug = "illustration-for-pidilite-dklog"
description = "An Illustration done for Pidilite D-klog. This illustration was completely done in Krita on a Linux system"
+++
An Illustration done for Pidilite D-klog. This illustration was
completely done in Krita on a Linux system
![D-klog Pidilite Illustrations](/img/D-klog.jpg)
![D-klog pidilite Illustrations](/img/D-klog-closeup.jpg)

View File

@ -1,36 +0,0 @@
+++
title = "Dhobi Ghat"
date = "2015-11-30T12:00:00+05:30"
workthumb = "/img/dthumb-300x300.jpg"
thumb = "/img/dthumb-600.jpg"
tags = ["graphic", "personal"]
description = "Illustration of largest open air laundry in Asia"
keywords = ["dobhi ghat", "open air laundry", "mumbai", "dobhi ghat illustrations"]
+++
## Indian open air laundry
[Dhobi Ghat](https://en.wikipedia.org/wiki/Dhobi_Ghat) is a 150 year old
place in Mumbai where hundreds of washer men collect dirty laundry, wash
and return it, neatly ironed, to swank homes of elites living in south
Mumbai. It is the worlds largest open air laundry. It's a fascinating
spectacle, looking down on row upon row of open-air concrete wash pens,
each fitted with its own flogging stone, while Mumbai's dhobis (around
200 dhobi families work together here) relentlessly pound the dirt from
the city's garments in a timeless tradition
![dhobi Ghat - Washing](/img/dobhi/d1.jpg)
![dhobi Ghat ironing](/img/dobhi/d2.jpg)
![Dhobi ghat drying](/img/dobhi/d3.jpg)
![dhobi Ghat - sorting](/img/dobhi/d4.jpg)
![Dhobi Ghat - rinsing](/img/dobhi/d5.jpg)
![dhobi Ghat - brushing](/img/dobhi/d6.jpg)
![dhobi Ghat - porting](/img/dobhi/d7.jpg)
![dhobi Ghat - washing](/img/dobhi/d8.jpg)

View File

@ -1,25 +0,0 @@
+++
title = "JSW Steel India"
date = "2017-08-17T19:18:00+05:30"
workthumb = "/img/jsw-steel-thumb-300x300.jpg"
thumb = "/img/jsw-steel-thumb-600.jpg"
tags = ["3D", "commission"]
client = "JSW Steel"
description = "A map of India created with steel elements"
keywords = ["3d", "blender", "india", "illustrations", "JSW steel", "Steel building", "India steel"]
+++
This commissioned illustration was for [JSW Steel
India](https://en.wikipedia.org/wiki/JSW_Steel_Ltd) , they wanted a map
of India created from steel structures, to denote that steel powers the
infrastructure in India. This was a collaboration with Prasad Kulkarni
of Ogilvy & Mather Mumbai. These illustrations are done in
[Blender](https://www.blender.org/).
![JSW Steel India Illustration](/img/jsw/jsw-steel-illustration-03.jpg)
![JSW Steel India Illustration](/img/jsw/jsw-steel-illustration-02.jpg)
![JSW Steel India Illustration](/img/jsw/jsw-steel-illustration-01.jpg)
Artwork copyright and trademarks owned by JSW Steel India Ltd.

View File

@ -1,27 +0,0 @@
+++
title = "Mascot for Pulvitec Brazil"
date = "2017-03-03T09:18:00+05:30"
workthumb = "/img/mr-strong-thumb.jpg"
thumb = "/img/mr-strong-thumb-600.jpg"
tags = ["realistic", "mascot"]
client = "Pulvitec, Pidilite"
description = "A Mascot design and illustration done for Pulvitec Brazil."
keywords = ["Mascot design", "Illustration", "mr strong", "pulvitec", "brazil", "adhesive", "super brilo"]
slug = "mascot-for-pulvitec-brazil"
+++
I was commissioned to refresh the mascot of Pulvitec Brazil's - [Mr.
Strong](http://mrstrong.com.br/mrstrong) line of products. The mascot
was earlier in 2d graphic style, [Pulvitec](http://www.pulvitec.com.br/)
wanted give the mascot a new refreshed 3d look, without changing the
exisiting features and design of the mascot.
![pulvitec Mr strong mascot](/img/mr-strong/mr-strong-a.jpg)
![pulvitec Mr strong mascot](/img/mr-strong/mr-strong-b.jpg)
![pulvitec Mr strong mascot](/img/mr-strong/mr-strong-c.jpg)
![pulvitec Mr strong mascot's puppy](/img/mr-strong/puppy.jpg)
Artwork copyright and trademarks owned by Pulvitec Industries of Brazil.

View File

@ -1,19 +0,0 @@
+++
title = "Pandas for Cadbury gems"
date = "2015-11-30T16:52:00+05:30"
workthumb = "/img/cthumb-300x300.jpg"
thumb = "/img/cthumb-600.jpg"
tags = ["realistic"]
client = "Cadbury India"
description = "Series Of Panda Illustrations done for Cadbury India with Ogilvy Mumbai"
keywords = ["panda", "cadbury panda", "gems panda", "panda", "illustrations", "mumbai", "india"]
slug = "pandas-for-cadbury-gems"
+++
Series Of Panda Illustrations done for Cadbury India with Ogilvy Mumbai
![Cadbury gems boxer panda](/img/panda/c1.jpg)
![Cadbury gems karate panda](/img/panda/c2.jpg)
![Cadbury gems skater panda](/img/panda/c3.jpg)

View File

@ -1,33 +0,0 @@
+++
title = "Tapri - An Indian Tea Stall"
date = "2015-11-30T16:42:00+05:30"
workthumb = "/img/tapri-thumb-300x300.jpg"
thumb = "/img/tapri-thumb-600.jpg"
tags = ["graphic", "personal"]
description = "A small series of illustrations depicting people and things that I saw at Tapri (Indian roadside Tea-stalls) at various places."
keywords = ["Indian Tea Stalls", "Travel", "Tea India", "India", "Tea maker", "Tea seller"]
+++
A small series of illustrations depicting people and things that I saw
at Tapri (Indian roadside Tea-stalls) at various places. Tapri is a
place where we relax, gossip, hangout, chalk out business plans,
propose, and do various other things. I think everybody has some stories
related to this place. If you have one please share, I will be glad to
listen.
Now you can buy the prints from my society6 page
[here](https://raghukamath.redbubble.com).
![Tapri - Indian Tea Stall](/img/tapri/01.jpg)
![Tapri - Indian Tea Stall](/img/tapri/02.jpg)
![Tapri - Indian Tea Stall](/img/tapri/03.jpg)
![Tapri - Indian Tea Stall](/img/tapri/04.jpg)
![Tapri - Indian Tea Stall](/img/tapri/05.jpg)
![Tapri - Indian Tea Stall](/img/tapri/06.jpg)
![Tapri - Indian Tea Stall](/img/tapri/07.jpg)

View File

@ -1,3 +0,0 @@
+++
title = "works"
+++

View File

@ -1,19 +0,0 @@
+++
title = "After School"
date = 2019-02-25T13:58:34+05:30
thumb = "/img/after-school-thumb-600.jpg"
workthumb = "/img/after-school-thumb-300.jpg"
tags = ["personal", "cc-by"]
keywords = ["after school", "nostalgia", "krita", "catching tadpoles", "tadpoles", "indian school boy"]
description = "A nostalgic memory of catching and playing with tadpoles, while returning from school. the paddy fields used to have millions of them. Exploring some brushes and painterly style in Krita."
draft = "true"
+++
A nostalgic memory of catching and playing with tadpoles, while returning from school. the paddy fields used to have millions of them. Exploring some brushes and painterly style in Krita.
The joy of mixing colour on canvas is truly amazing and Krita highlights that aspect very much even in digital space.
![digital painting dipicting a boy catching tadpole besides a paddy field](/img/after-school.jpg)
Artwork is under CC-BY-SA-4.0, source file can be downloaded from - [here](https://box.raghukamath.com/cloud/index.php/s/ZL4ZxsEyr6DDHDf).

View File

@ -1,38 +0,0 @@
+++
title = "Axis Bank Calendar"
date = "2015-11-30T18:34:00+05:30"
workthumb = "/img/axisthumb-300x300.jpg"
thumb = "/img/axisthumb-600.jpg"
tags = ["graphic"]
client = "Axis Bank"
description = "Calendar illustrations done for Axis bank"
keywords = ["calendar", "illustration", "axis", "axis bank", "mumbai"]
slug = "axis-bank-calendar"
+++
Doodle Illustrations done for Axis Bank calendar 2015 with Abhijit Kalan
and Tejas of Lowe + Lintas Mumbai.
![Axis bank calendar 2015](/img/axis/axis1.jpg)
![Axis bank calendar 2015](/img/axis/axis2.jpg)
![Axis bank calendar 2015](/img/axis/axis3.jpg)
![Axis bank calendar 2015](/img/axis/axis4.jpg)
![Axis bank calendar 2015](/img/axis/axis5.jpg)
![Axis bank calendar 2015](/img/axis/axis6.jpg)
![Axis bank calendar 2015](/img/axis/axis7.jpg)
![Axis bank calendar 2015](/img/axis/axis8.jpg)
![Axis bank calendar 2015](/img/axis/axis9.jpg)
![Axis bank calendar 2015](/img/axis/axis10.jpg)
![Axis bank calendar 2015](/img/axis/axis11.jpg)
![Axis bank calendar 2015](/img/axis/axis12.jpg)

View File

@ -1,23 +0,0 @@
+++
title = "Centre Fruit Explode"
date = "2015-11-30T18:10:00+05:30"
workthumb = "/img/thumb1-300x300.jpg"
thumb = "/img/thumb1-600.jpg"
tags = ["realistic"]
client = "Ogilvy Mumbai"
description = "Illustration done for Center Fruit Xplode poster."
keywords = ["Center fruit xlplode", "illustration", "mumbai", "center fruit", "xplode", "ogilvy mumbai"]
+++
Illustration done for Center Fruit Xplode poster. This poster was done
with Ketan Mhabadi and Aditi Shah from Ogilvy Mumbai.
## Option One
![center fruit poster illustration](/img/Xplode-01.jpg)
## Option Two
This option is what the client approved (Typo and Layout
arrangements done by Ketan & Aditi)
![center fruit poster illustration](/img/CF_Xplode_poster_final-06.jpg)

View File

@ -1,24 +0,0 @@
+++
title = "Festival of lights"
date = "2016-12-24T15:49:00+05:30"
workthumb = "/img/festival-of-light-thumb.jpg"
thumb = "/img/festival-of-light-thumb-600.jpg"
tags = ["realistic"]
client = "Krita foundation"
description = "A Illustration done for Krita Art book submission"
keywords = ["floss painting", "digital painting tutorial", "krita timelapse", "timelapse", "floss art", "made in krita", "artbook", "krita"]
slug = "festival-of-lights"
+++
An illustration done for first Krita art book by Krita foundation called
**Made with Krita**. This art book will be given as a reward for backers
of the Krita\'s kick-starter
[campaign](https://www.kickstarter.com/projects/krita/krita-2016-lets-make-text-and-vector-art-awesome).
You can order the art book from the krita foundation through this
[link](https://gumroad.com/l/LLUIt#).
![Festival of light Illustration](/img/festival-of-light.jpg)
I have also shared a process video in my journal
[here](https://raghukamath.com/journal/festival-of-lights-timelapse-painting).

View File

@ -1,17 +0,0 @@
+++
title = "Lemonade"
date = 2019-04-29T14:00:34+05:30
thumb = "/works/lemonade/lemonade-thumb-600.jpg"
workthumb = "/works/lemonade/lemonade-thumb-300.jpg"
tags = ["personal", "cc-by"]
keywords = ["lemon", "summer", "krita", "lady", "indian", "lime green"]
description = "An Inking and coloring practice, I did last weekend. The theme was to create a refreshing illustration of a lady in summer"
+++
An Inking and coloring practice, I did last weekend. The theme was to create a refreshing illustration of a lady in summer
![digital painting dipicting a lady looking back](summer-lemon.jpg)
Artwork is under CC-BY-SA-4.0, source file can be downloaded from - [here](https://box.raghukamath.com/cloud/index.php/s/DnWTBBpj4iFnGB9).

View File

@ -1,15 +0,0 @@
+++
title = "Maharaja concept for new story"
date = "2015-11-30T18:47:00+05:30"
workthumb = "/img/thumb2-300x300.jpg"
thumb = "/img/process-maharaja.jpg"
tags = ["realistic", "personal", "CC-BY-SA"]
description = "Maharaja a character concept from a story that I am developing. This is done in FLOSS painting software Krita 2.9 on a Linux system."
keywords = ["maharaja", "india illustration", "Mumbai", "Linux digital art", "floss digital painting", "dictator portrait", "portrait illustrations"]
slug = "maharaja-concept-for-new-story"
+++
Maharaja -- a character concept from a story that I am developing. This
is done in FLOSS painting software Krita 2.9 on a Linux system.
![maharaja](/img/maharaja.jpg)

View File

@ -1,16 +0,0 @@
+++
title = "Mermaid"
date = "2015-12-15T12:15:00+05:30"
workthumb = "/img/mermaid.jpg"
thumb = "/img/mermaid-600.jpg"
tags = ["realistic", "personal"]
description = "Mermaid illustration done in krita"
keywords = ["mermaid", "floss painting", "digital painting tutorial", "krita timelapse", "timelapse", "floss art", "krita"]
draft = "true"
+++
An Illustration done in leisure.
![Mermaid Illustration](/img/mermaid-full.jpg)
![Mermaid Illustrations detail](/img/mermaid-detail.jpg)

View File

@ -1,29 +0,0 @@
+++
title = "Mtv Biryani Emoticon Posters"
date = 2019-11-24T11:00:34+05:30
client = "Viacom18"
thumb = "/works/mtv-emoticon/mtv-thumb-600.jpg"
workthumb = "/works/mtv-emoticon/mtv-thumb-300.jpg"
tags = ["graphic"]
keywords = ["Viacom", "Mtv India", "Biryani Emoticon", "Biryani", "Chicken Illustration", "goats", "emoticon"]
description = "Poster Illustrations for MTV India's Biryani Emoticon Campaign"
+++
My [studio](https://emblik.studio) was commissioned by Viacom to make posters for their campaign demanding emoticon for Biryani dish. These are some Illustrations that I did for them. These were done along the style of propaganda posters but I think in the end it drifted towards normal style a bit.
![Chicken Biryani Illustration](biryani-chicken.jpg)
![Chicken Biryani Details](biryani-chicken-01.jpg)
![Mutton Biryani Illustration](biryani-mutton.jpg)
![Mutton Biryani Illustration details](biryani-mutton-01.jpg)
Illustrations adapted in layout for the emailer created by the MTV India Design team.
![Chicken Biryani layout](mtv-chicken.jpg)
![Mutton Biryani layout](mtv-mutton.jpg)
Artwork is under copyright of Viacom18.

View File

@ -1,44 +0,0 @@
+++
title = "Mtv Roadies Revolution"
date = 2020-03-31T11:00:34+05:30
client = "Viacom18"
thumb = "/works/mtv-roadies/mtv-roadies-thumb-600.jpg"
workthumb = "/works/mtv-roadies/mtv-roadies-thumb-300.jpg"
tags = ["realistic", "commission"]
keywords = ["Viacom", "Mtv India", "roadies", "outdoor hoarding", "roadies revolution", "ranvijay illustration", "mtv illustration", "Krita CMYK"]
description = "Illustrations done for MTV India's Roadies Revolution Launch campaign"
+++
My [studio](https://emblik.studio) collaborated with [Sameer Kulkarni](https://kulkarnisameer.com/) to create illustrations for the 18th season of MTV India's youth reality television show - Roadies Revolution. We were tasked to create portraits of the hosts of the show in a unique style. The portraits were then used to prepare various creatives required for the launch campaign. The artwork was adapted into outdoor hoarding (billboards) posters and online social media posts.
[Krita](https://krita.org) was used to create the unique grainy look in the portraits and blender was used to create some background elements.
![Mtv roadies illustration](mtv-roadies-001.jpg)
![Mtv roadies illustration](mtv-roadies-002.jpg)
Some background elements -
![Mtv roadies illustration](mtv-roadies-003.jpg)
Details in the portraits -
![Mtv roadies illustration - neha dhupia](mtv-roadies-004.jpg)
![Mtv roadies illustration - ranvijay](mtv-roadies-005.jpg)
[Blender](https://blender.org) used for creating the iconic [Lakshman_Jhula](https://en.wikipedia.org/wiki/Lakshman_Jhula).
![Mtv roadies illustration - ranvijay](blender-roadies.jpg)
Illustrations used in the final designs and adaptation by Viacom18 design team
![Mtv roadies illustration - design](mtv-roadies-revolution-design-1.jpg)
![Mtv roadies illustration - poster](mtv-roadies-revolution-design-2.jpg)
Photograph showing the illustration on the hoarding (billboard) in Mumbai.
![Mtv roadies illustration - billboard](MTV-roadies-billboard.jpg)
Artwork is under copyright of Viacom18.

View File

@ -1,27 +0,0 @@
+++
title = "Number Book For Toddlers"
date = "2016-08-18T12:33:00+05:30"
workthumb = "/img/number-book-thumb.jpg"
thumb = "/img/number-book-thumb-600.jpg"
tags = ["graphic", "CC-BY-SA"]
description = "Illustrations for number book I created for toddlers"
keywords = ["number book", "children illustration", "number activities", "coloring book", "mumbai"]
slug = "number-book-for-toddlers"
+++
Some of the illustration done in a personal number book for toddlers. I am releasing this number book under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/) license. Parents or teachers feel free to [download](/downloads/my-first-number-book-web.pdf) this book print it and share it with anyone.
![Number book for toddlers](/img/number-book/cover.jpg)
![Number book for toddlers](/img/number-book/number-book-2.jpg)
![Number book for toddlers](/img/number-book/number-book-3.jpg)
![Number book for toddlers](/img/number-book/number-book-4.jpg)
![Number book for toddlers](/img/number-book/number-book-5.jpg)
![Number book for toddlers](/img/number-book/number-book-6.jpg)
You can check out the entire book
[here](/downloads/my-first-number-book-web.pdf).

View File

@ -1,29 +0,0 @@
+++
title = "Mascot for Nutrela"
date = "2017-02-27T15:27:00+05:30"
workthumb = "/img/nutrela-lion-thumb.jpg"
thumb = "/img/nutrela-lion-thumb-600.jpg"
tags = ["realistic", "mascot"]
client = "Design Orb, Ruchi Soya"
description = "A Mascot design and illustration done for Nutrela plus soya chunks"
keywords = ["ruchi soya", "illustration", "India", "lion illustration", "lion mascot", "nutrela mascot", "nutrela", "soya chunks", "soya for kids"]
slug = "mascot-for-nutrela"
+++
I did a mascot illustration for Design Orb and [Ruchi
soya](https://en.wikipedia.org/wiki/Ruchi_Soya). Ruchi Soya is the
largest manufacturer of edible oil in India. They also produce Soya
foods. This mascot will be used in package of Nutrela plus soya chunks,
designed by Design orb.
![Nutrela soya chunks mascot](/img/nutrela-mascot/nutrela-lion.jpg)
![Nutrela soya chunks mascot](/img/nutrela-mascot/nutrela-lion-detail.jpg)
I also created a coloring book for them, these are the cover pages for the book.
![Nutrela soya chunks mascot](/img/nutrela-mascot/nutrella-cover-01.jpg)
![Nutrela soya chunks mascot](/img/nutrela-mascot/nutrella-cover-02.jpg)
Artwork and Mascot design are copyright of Ruchi Soya Industries.

View File

@ -1,50 +0,0 @@
+++
title = "Pidilite Fevicol - Atoot Rishtey"
date = "2015-11-30T18:51:00+05:30"
workthumb = "/img/pidilite-thumb-300x300.jpg"
thumb = "/img/pidilite-thumb-600.jpg"
tags = ["graphic"]
client = "Pidilite"
description = "I made some double spread illustrations for a booklet called Atoot Rishtey for Fevicol adhesive brand of Pidilite Industries"
keywords = ["Pidilite", "atoot rishtey", "atoot", "fevicol", "illustrations" , "booklet illustrations", "Mumbai", "graphic design"]
slug = "pidilite-fevicol-atoot-rishtey"
+++
I made some double spread illustrations for a booklet called Atoot
Rishtey for Fevicol adhesive brand of [Pidilite
Industries](http://www.pidilite.com/) . The illustrations depict a
couple enjoying holidays in various locations such as Switzerland, Goa,
Kerala, Dubai, etc.
## Kerala
![Pidilite Kerala Fevicol](/img/pidilite/kerala.jpg)
## Goa
![Pidilite goa Fevicol](/img/pidilite/goa.jpg)
## Abu Dhabi & Dubai
![Pidilite abudhabi Fevicol](/img/pidilite/abudhabi.jpg)
## Lavasa, Mt. Abu and Adlabs Imagica
![Pidilite Lavasa, Mt. Abu and Adlabs Imagica Fevicol](/img/pidilite/mt-abu.jpg)
Inner cover depicting the husband showing his wife the gift voucher
from pidilite
![Pidilite inner cover Fevicol](/img/pidilite/inside.jpg)
## cover page
![Pidilite cover Fevicol](/img/pidilite/cover.jpg)
## Switzerland
![Pidilite cover Fevicol](/img/pidilite/swiss.jpg)
A gif showing the process
![Pidilite process Switzerland](/img/pidilite/one.gif)

View File

@ -1,21 +0,0 @@
+++
title = "Pidilite Elephant Adhesive"
date = 2016-07-21T21:00:34+05:30
client = "pidilite"
thumb = "/works/pidilite-elephant/elephant-thumb-600.jpg"
workthumb = "/works/pidilite-elephant/elephant-thumb-300.jpg"
tags = ["commission", "realistic"]
keywords = ["pidilite", "elephant brand", "elephant illustration", "pidilite elephant glue"]
description = "A commission Illustration done for Pidilite Industries India for their Elephant Brand Adhesives"
+++
Pidilite Industries commissioned me to create elephant Illustration for their Elephant brand adhesive for furniture and marbles.
![Elephant standing on a sturdy chair - pidilite](elephant-01.jpg)
![Elephant climbing on marble stairs - pidilite](elephant-02.jpg)
![Some details of the elephant illustration - pidilite](elephant-03.jpg)
Artwork is under copyright of Pidilite Industries.

View File

@ -1,29 +0,0 @@
+++
title = "Roff Annual Diary"
date = 2016-07-21T21:00:34+05:30
client = "pidilite"
thumb = "/works/roff/roff-thumb-600.jpg"
workthumb = "/works/roff/roff-thumb-300.jpg"
tags = ["realistic", "mascot"]
keywords = ["pidilite", "roff brand", "roff alligator illustration", "pidilite roff glue"]
description = "Mascot refresh and Cover Illustrations for Annual Diaries, done for Roff brand of Pidilite Industries India"
+++
I collaborated with the in-house design team of Pidilite Industries to create cover Illustrations of the annual diaries of the year 2017 and 2019.
This was for their Roff brand of adhesives which are used for fixing tiles. The Alligator mascot was shown in various poses and styles for the cover.
![Alligator putting the tiles in masons clothes - pidilite](roff-01.jpg)
![Detail of the alligator - pidilite](roff-02.jpg)
And alternative layout and pose for the same diary.
![An alternative pose of the alligator- pidilite](roff-03.jpg)
Illustration done for the 2017 diary. here the alligator is rendered as if it was made of the tiles. The adhesive is used for fixing tiles on the walls.
![Illustration for the 2017 diary - pidilite](roff-04.jpg)
![Detail of the 2017 diary illustration - pidilite](roff-05.jpg)
Artwork is under copyright of Pidilite Industries.

View File

@ -1,24 +0,0 @@
+++
title = "Shepherdess"
date = 2019-09-21T21:00:34+05:30
thumb = "/works/shepherdess/shepherdess-thumb-600.jpg"
workthumb = "/works/shepherdess/shepherdess-thumb-300.jpg"
tags = ["commission", "CC-BY-SA"]
keywords = ["silk worm", "shepherdess", "krita", "lady", "indian", "small world"]
description = "A commission artwork done for a friend. It is about a shepherdess who rears silkworms for a living."
+++
A small tribal shepherdess sitting idly on a twig, dreaming about the happy days yet to come. While she sits calmly, the meek silkworms slowly devour an entire bush of mulberry. It is the mulberry of this giant forest that helps her tribe, to produce one of the finest silk that one can get on this land.
A commission done for a dear friend.
![digital painting dipicting a Shepherdess sitting idly on a twig](shepherdess.jpg)
![Some details of the painting - shepherdess](shepherdess-01.jpg)
![Some details of the painting - shepherdess](shepherdess-02.jpg)
Artwork is under CC-BY-SA-4.0, source file can be downloaded from - [here](https://box.raghukamath.com/cloud/index.php/s/QLNSMb4BSKqq53o).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 389 KiB

View File

@ -1,24 +0,0 @@
+++
title = "Asian Paints Smart Care"
date = 2019-11-21T21:00:34+05:30
thumb = "/works/smartcare/smartcare-thumb-600.jpg"
workthumb = "/works/smartcare/smartcare-thumb-300.jpg"
tags = ["commission", "realistic"]
client = "Asian Paints"
keywords = ["asian paints", "Illustrations", "smart care", "exterior emulsion paint", "painter illustration"]
description = "A commission done for Asian Paints for their exterior emulsion press and billboard ads"
+++
I collaborated with Ogilvy India to create an illustration for billboard and press ads of [Asian Paints](https://www.asianpaints.com/).
![Digital painting for Asian Paints](smart-care-001.jpg)
The Illustration were adapted to press and billboard layout by Ogilvy design team.
![Illustration adapted to press layout](smart-care-002.jpg)
![Illustration adapted for billboard layout](smart-care-003.jpg)
Artwork is under copyright of Ogivly and Asian Paints Ltd.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 300 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

View File

@ -1,10 +0,0 @@
---
version: '3'
services:
raghukamath:
image: registry.gitlab.com/raghukamath/website-raghukamath.com
ports:
- "8080:80"
...

View File

@ -17,8 +17,16 @@ module.exports = {
'h3',
'h4',
'ul',
'li'
]
'table',
'li',
'quote',
'fig-caption',
'figure',
'raw-para',
'chroma'
],
whitelistPatternsChildren: [/table$/],
whitelistPatternsChildren: [/chroma$/],
},
autoprefixer: {},
cssnano: {preset: 'default'}

View File

@ -5,16 +5,22 @@
:root {
--base-root: 1.5rem;
--base-relative: 1.5em;
--font-size-copy: 1.15rem;
--font-size-small: calc(var(--base-relative)/2);
--font-size-h1: 1.65em;
--font-size-h2: 1.45em;
--font-size-h3: var(--font-size-copy);
/* colors */
--gray: #565656;
--gray: #595959;
--black: #000;
--white: #FFF;
--link-color: #FE7;
--link-dark: #ffd777;
--link-color: var(--light-gray);
--primary-color: var(--gray);
--secondary-gray: #DDD;
--light-gray: #EEE;
--background-gray: #fafafa;
/* screens */
--screen-laptop: 1200px;
@ -58,16 +64,16 @@ html {
font-style: normal;
font-weight: 400;
font-display: swap;
src: url("../fonts/Inter-Regular.woff2?v=3.13") format("woff2"),
url("../fonts/Inter-Regular.woff?v=3.13") format("woff");
src: url("/fonts/Inter-Regular.woff2?v=3.13") format("woff2"),
url("/fonts/Inter-Regular.woff?v=3.13") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url("../fonts/Inter-Italic.woff2?v=3.13") format("woff2"),
url("../fonts/Inter-Italic.woff?v=3.13") format("woff");
src: url("/fonts/Inter-Italic.woff2?v=3.13") format("woff2"),
url("/fonts/Inter-Italic.woff?v=3.13") format("woff");
}
@font-face {
@ -75,16 +81,16 @@ html {
font-style: normal;
font-weight: 700;
font-display: swap;
src: url("../fonts/Inter-Bold.woff2?v=3.13") format("woff2"),
url("../fonts/Inter-Bold.woff?v=3.13") format("woff");
src: url("/fonts/Inter-Bold.woff2?v=3.13") format("woff2"),
url("/fonts/Inter-Bold.woff?v=3.13") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url("../fonts/Inter-BoldItalic.woff2?v=3.13") format("woff2"),
url("../fonts/Inter-BoldItalic.woff?v=3.13") format("woff");
src: url("/fonts/Inter-BoldItalic.woff2?v=3.13") format("woff2"),
url("/fonts/Inter-BoldItalic.woff?v=3.13") format("woff");
}
@font-face {
@ -92,23 +98,21 @@ html {
font-style: normal;
font-weight: 900;
font-display: swap;
src: url("../fonts/Inter-Black.woff2?v=3.13") format("woff2"),
url("../fonts/Inter-Black.woff?v=3.13") format("woff");
src: url("/fonts/Inter-Black.woff2?v=3.13") format("woff2"),
url("/fonts/Inter-Black.woff?v=3.13") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 900;
font-display: swap;
src: url("../fonts/Inter-BlackItalic.woff2?v=3.13") format("woff2"),
url("../fonts/Inter-BlackItalic.woff?v=3.13") format("woff");
src: url("/fonts/Inter-BlackItalic.woff2?v=3.13") format("woff2"),
url("/fonts/Inter-BlackItalic.woff?v=3.13") format("woff");
}
body {
font-family: "Inter", var(--system-fonts);
font-size: 1.15rem;
font-size: var(--font-size-copy);
font-kerning: normal;
letter-spacing:normal;
font-style: normal;
@ -133,17 +137,15 @@ h6 {
}
h1 {
font-size: 1.65em;
font-size: var(--font-size-h1);
}
h2 {
font-size: 1.25em;
font-size: var(--font-size-h2);
}
h3,
h4,
h5,
h6 {
h3 {
font-size: var(--font-size-h3);
}
table {
@ -167,6 +169,35 @@ table tr:nth-child(2n), table th {
background-color: var(--light-gray);
}
a {
text-decoration: none;
color: var(--gray);
text-decoration: underline;
text-decoration-color: var(--link-color);
text-decoration-thickness: .135em;
transition: background-color 0.2s ease-out, color 0.2s ease-out, box-shadow 0.1s ease-out, fill 0.2s ease-out;
}
a:hover {
color: var(--black);
fill: var(--black);
text-decoration-color: var(--gray);
}
.nav-link,
.logo {
text-decoration: none;
}
h2 a,
h1 a,
h3 a,
h4 a,
h5 a,
h6 a {
text-decoration: none;
}
/* page content */
.site-header {
@ -203,7 +234,7 @@ table tr:nth-child(2n), table th {
.nav {
width: 100%;
border-bottom: 2px dotted var(--secondary-gray);
border-bottom: 2px dashed var(--secondary-gray);
}
@media screen and (min-width: 720px) {
@ -274,6 +305,9 @@ table tr:nth-child(2n), table th {
.active {
color: #000;
text-decoration: underline;
text-decoration-color: var(--gray);
text-decoration-thickness: .125em;
}
.intro-text {
@ -285,7 +319,7 @@ table tr:nth-child(2n), table th {
.divider {
border: 0;
overflow: visible;
border-bottom: 2px dotted var(--secondary-gray);
border-bottom: 2px dashed var(--secondary-gray);
margin: calc(var(--base-root)*1.75) var(--base-root);
}
@ -300,8 +334,8 @@ table tr:nth-child(2n), table th {
justify-content: space-between;
margin-top: var(--base-root);
margin-bottom: var(--base-root);
border-top: 1px dashed var(--secondary-gray);
border-bottom: 1px dashed var(--secondary-gray);
border-top: 2px dashed var(--secondary-gray);
border-bottom: 2px dashed var(--secondary-gray);
}
@ -334,7 +368,7 @@ table tr:nth-child(2n), table th {
}
.comments {
border-top: 1px dashed var(--secondary-gray);
border-top: 2px dashed var(--secondary-gray);
}
@ -366,7 +400,7 @@ article {
.intro-text,
.content-max-width {
max-width: 45rem;
max-width: 48rem;
}
/* elements */
@ -386,35 +420,7 @@ img {
font-size: calc(var(--base-relative)/2);
}
a {
text-decoration: none;
color: var(--gray);
transition: background-color 0.2s ease-out, color 0.2s ease-out, box-shadow 0.1s ease-out, fill 0.2s ease-out;
}
a:hover {
color: var(--black);
fill: var(--black);
}
.active,
.post-text a,
.link,
table td a {
text-decoration: underline;
text-decoration-color: var(--link-color);
text-decoration-thickness: 3px;
}
.post-text a:hover,
.link:hover,
.to-top:hover,
table td a:hover {
background-color: var(--link-color);
border-bottom: 0;
box-shadow: 0 0 0 3px var(--link-color);
border-radius: calc(var(--base-root)/6);
}
.prev:hover .arrow,
.next:hover .arrow,
@ -487,7 +493,7 @@ table td a:hover {
.post-meta {
display: flex;
font-size: calc(var(--base-relative)/2);
font-size: var(--font-size-small);
text-transform: capitalize;
flex-wrap: wrap;
align-items: center;
@ -495,10 +501,10 @@ table td a:hover {
}
.quote {
background-color: #fffcea;
background-color: var(--background-gray);
margin: calc(var(--base-relative)/1.5) 0;
padding: calc(var(--base-relative)/2);
border-left: 3px solid var(--link-color);
border-left: 3px solid var(--secondary-gray);
}
.raw-para {
@ -532,7 +538,7 @@ table td a:hover {
}
.tag-link:hover {
background-color: var(--link-color);
background-color: var(--secondary-gray);
}
.post-text img {
@ -574,8 +580,96 @@ table td a:hover {
height: auto;
}
.time,
.client{
.time {
margin-right: calc(var(--base-root)/3);
margin-bottom: calc(var(--base-root)/3);
}
.commento-root .commento-submit-button {
background: var(--gray);
}
/* syntax highlight */
/* Background */ .chroma { background-color: #f0f0f0; padding: var(--base-relative); font-family: monospace; overflow-x:auto; }
/* Other */ .chroma .x { }
/* Error */ .chroma .err { }
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; }
/* LineHighlight */ .chroma .hl { display: block; width: 100%;background-color: #ffffcc }
/* LineNumbersTable */ .chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
/* LineNumbers */ .chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
/* Keyword */ .chroma .k { color: #007020; font-weight: bold }
/* KeywordConstant */ .chroma .kc { color: #007020; font-weight: bold }
/* KeywordDeclaration */ .chroma .kd { color: #007020; font-weight: bold }
/* KeywordNamespace */ .chroma .kn { color: #007020; font-weight: bold }
/* KeywordPseudo */ .chroma .kp { color: #007020 }
/* KeywordReserved */ .chroma .kr { color: #007020; font-weight: bold }
/* KeywordType */ .chroma .kt { color: #902000 }
/* Name */ .chroma .n { }
/* NameAttribute */ .chroma .na { color: #4070a0 }
/* NameBuiltin */ .chroma .nb { color: #007020 }
/* NameBuiltinPseudo */ .chroma .bp { }
/* NameClass */ .chroma .nc { color: #0e84b5; font-weight: bold }
/* NameConstant */ .chroma .no { color: #60add5 }
/* NameDecorator */ .chroma .nd { color: #555555; font-weight: bold }
/* NameEntity */ .chroma .ni { color: #d55537; font-weight: bold }
/* NameException */ .chroma .ne { color: #007020 }
/* NameFunction */ .chroma .nf { color: #06287e }
/* NameFunctionMagic */ .chroma .fm { }
/* NameLabel */ .chroma .nl { color: #002070; font-weight: bold }
/* NameNamespace */ .chroma .nn { color: #0e84b5; font-weight: bold }
/* NameOther */ .chroma .nx { }
/* NameProperty */ .chroma .py { }
/* NameTag */ .chroma .nt { color: #062873; font-weight: bold }
/* NameVariable */ .chroma .nv { color: #bb60d5 }
/* NameVariableClass */ .chroma .vc { }
/* NameVariableGlobal */ .chroma .vg { }
/* NameVariableInstance */ .chroma .vi { }
/* NameVariableMagic */ .chroma .vm { }
/* Literal */ .chroma .l { }
/* LiteralDate */ .chroma .ld { }
/* LiteralString */ .chroma .s { color: #4070a0 }
/* LiteralStringAffix */ .chroma .sa { color: #4070a0 }
/* LiteralStringBacktick */ .chroma .sb { color: #4070a0 }
/* LiteralStringChar */ .chroma .sc { color: #4070a0 }
/* LiteralStringDelimiter */ .chroma .dl { color: #4070a0 }
/* LiteralStringDoc */ .chroma .sd { color: #4070a0; font-style: italic }
/* LiteralStringDouble */ .chroma .s2 { color: #4070a0 }
/* LiteralStringEscape */ .chroma .se { color: #4070a0; font-weight: bold }
/* LiteralStringHeredoc */ .chroma .sh { color: #4070a0 }
/* LiteralStringInterpol */ .chroma .si { color: #70a0d0; font-style: italic }
/* LiteralStringOther */ .chroma .sx { color: #c65d09 }
/* LiteralStringRegex */ .chroma .sr { color: #235388 }
/* LiteralStringSingle */ .chroma .s1 { color: #4070a0 }
/* LiteralStringSymbol */ .chroma .ss { color: #517918 }
/* LiteralNumber */ .chroma .m { color: #40a070 }
/* LiteralNumberBin */ .chroma .mb { color: #40a070 }
/* LiteralNumberFloat */ .chroma .mf { color: #40a070 }
/* LiteralNumberHex */ .chroma .mh { color: #40a070 }
/* LiteralNumberInteger */ .chroma .mi { color: #40a070 }
/* LiteralNumberIntegerLong */ .chroma .il { color: #40a070 }
/* LiteralNumberOct */ .chroma .mo { color: #40a070 }
/* Operator */ .chroma .o { color: #666666 }
/* OperatorWord */ .chroma .ow { color: #007020; font-weight: bold }
/* Punctuation */ .chroma .p { }
/* Comment */ .chroma .c { color: #60a0b0; font-style: italic }
/* CommentHashbang */ .chroma .ch { color: #60a0b0; font-style: italic }
/* CommentMultiline */ .chroma .cm { color: #60a0b0; font-style: italic }
/* CommentSingle */ .chroma .c1 { color: #60a0b0; font-style: italic }
/* CommentSpecial */ .chroma .cs { color: #60a0b0; background-color: #fff0f0 }
/* CommentPreproc */ .chroma .cp { color: #007020 }
/* CommentPreprocFile */ .chroma .cpf { color: #007020 }
/* Generic */ .chroma .g { }
/* GenericDeleted */ .chroma .gd { color: #a00000 }
/* GenericEmph */ .chroma .ge { font-style: italic }
/* GenericError */ .chroma .gr { color: #ff0000 }
/* GenericHeading */ .chroma .gh { color: #000080; font-weight: bold }
/* GenericInserted */ .chroma .gi { color: #00a000 }
/* GenericOutput */ .chroma .go { color: #888888 }
/* GenericPrompt */ .chroma .gp { color: #c65d09; font-weight: bold }
/* GenericStrong */ .chroma .gs { font-weight: bold }
/* GenericSubheading */ .chroma .gu { color: #800080; font-weight: bold }
/* GenericTraceback */ .chroma .gt { color: #0044dd }
/* GenericUnderline */ .chroma .gl { text-decoration: underline }
/* TextWhitespace */ .chroma .w { color: #bbbbbb }

View File

@ -1,7 +1,10 @@
{{ define "main" }}
<div class="text-center mv-xl">
<section class="content">
<div class="static content-max-width">
<h1>That page is not here!</h1>
<p>Oops! You seem to have found the place where I procrastinate.</p>
<img src="{{ .Site.BaseURL }}/404.jpg" alt="page not found image">
<p>There's nothing here. :(<br/>you can check out my latest works <a class="link" href="{{ .Site.BaseURL }}">here</a></p>
</div>
</section>
{{ end }}

View File

@ -1,26 +1,11 @@
{{ define "main" }}
<p class="intro-text"> Hi, I am Raghavendra Kamath (raghukamath), an Illustrator and Designer from Mumbai India.
I use only Free (libre) and Open Source tools to create illustrations, comic book pages, book covers and visual for ads &hellip; <br>
I run a small creative <a class="link" href="https://emblik.studio" target="_blank">studio</a>. I use only Free (libre) and Open Source tools to create illustrations, comic book pages, book covers and visual for ads &hellip; <br>
<a href="{{ .Site.BaseURL }}about" class="link">Read more about me <span class="arrow">&rarr;</span></a>
</p>
<hr class="divider">
{{.Content}}
<section class="content">
<h2>Portfolio</h2>
<div class="list grid-of-three">
{{ range first 9 (where .Site.RegularPages "Section" "works") }}
<div class="work-post">
<a href="{{ .RelPermalink }}">
<img class="thumb" src="{{ .Params.workthumb }}" alt="{{ .Title }}-thumb">
</a>
</div>
{{ end}}
</div>
<a href="{{ .Site.BaseURL }}/works" class="link">See more of my work<span class="arrow">&rarr;</span></a>
</section>
<hr class="divider">
<section class="content">
<h2>Blogroll</h2>
<div class="grid-of-two list h-feed">
{{ range where .Site.RegularPages "Section" "journal" }}
<article class="post h-entry">

View File

@ -18,11 +18,11 @@
<p>I am also a supporter of open source movement for the past {{ sub now.Year 2014 }} years, my workflow involves use of
opensource tools which provide robust flexibility and great output. In my free time I enjoy reading about new opensource projects and if possible I often passionately try to help them.</p>
<p> My recent hobby is to learn some programing languages such as C++, Python and Javascript.</p>
<p> Drop me a line at <a class="link" href="mailto:raghu@raghukamath.com?Subject=enquiry">raghu at raghukamath dot com</a>.
<p> Drop me a line at <a class="link" href="mailto:raghu@raghukamath.com?Subject=enquiry">raghu at raghukamath dot com</a>. If you want to send me an encrypted email you can use my <a class="link" href="{{ .Site.BaseURL }}/downloads/public-key-raghu@raghukamath.com.txt">public key</a>.
I am mostly available online on <a href="https://kiwiirc.com/client">IRC</a> at freenode as <b>raghukamath</b> or on
<a href="https://riot.im">Matrix</a> as <b>@raghukamath:matrix.org</b>. You can also follow me on
<a href="https://riot.im">Matrix</a> as <b>@raghu:emblik.studio</b>. You can also follow me on
<a href="http://mastodon.art/@raghukamath">Mastodon</a> or check my doodles and processes on my
<a href= "{{.Site.BaseURL }}journal">journal</a>.
<a href= "{{.Site.BaseURL }}journal">journal</a>.
</p>
<h2>Clients:</h2><p>Free Software Foundation, Pidilite Industries, Ruchi

View File

@ -12,8 +12,7 @@
<section class="content">
<h3>Quick Links</h3>
<p>
<a rel="noreferrer nofollow" target="_blank" href="https://www.paypal.me/raghukamath">Donate</a> &ndash;
<a href="https://box.raghukamath.com/cloud/index.php/s/2dbZ8tyaFcPqABK">Source Files</a> &ndash;
<a rel="publickey" href="{{ .Site.BaseURL }}/downloads/public-key-raghu@raghukamath.com.txt" type="text/plain">Public key</a> &ndash;
<a href="{{ .Site.BaseURL }}tutorials">Tutorials</a> &ndash;
<a href="{{ .Site.BaseURL }}talks">Talks</a> &ndash;
<a href="{{ .Site.BaseURL }}reading">Reading List</a> &ndash;

View File

@ -9,12 +9,12 @@
</svg>
</button>
<nav id="js-dropdown" class="nav hide">
<ul class="menu-list">{{ range .Site.Menus.main }}<li class='menu-item'><a href="{{ .URL }}" class='nav-link {{ if or ($.Page.IsMenuCurrent "main" .) ($.Page.HasMenuCurrent "main" .) }} active {{ end }} '>{{ .Name | upper }}</a></li>{{ end }}
<ul class="menu-list">{{ range .Site.Menus.main }}<li class='menu-item'><a href="{{ .URL }}" class='nav-link {{ if or ($.Page.IsMenuCurrent "main" .) ($.Page.HasMenuCurrent "main" .) }} active {{ end }} ' {{if eq .Name "Studio" }} target ="_blank"{{ end }}>{{ .Name | upper }}</a></li>{{ end }}
</ul>
</nav>
<noscript> <style> #js-button, #js-dropdown {display:none;}</style>
<nav class="nav">
<ul class="menu-noscript">{{ range .Site.Menus.main }}<li class='menu-noscript-item'><a href="{{ .URL }}" class='{{ if or ($.Page.IsMenuCurrent "main" .) ($.Page.HasMenuCurrent "main" .) }} active {{ end }} '>{{ .Name | upper }}</a></li>{{ end }}
<ul class="menu-noscript">{{ range .Site.Menus.main }}<li class='menu-noscript-item'><a href="{{ .URL }}" class='{{ if or ($.Page.IsMenuCurrent "main" .) ($.Page.HasMenuCurrent "main" .) }} active {{ end }} ' {{if eq .Name "Studio" }} target ="_blank"{{ end }} >{{ .Name | upper }}</a></li>{{ end }}
</ul>
</nav>
</noscript>

472
yarn.lock
View File

@ -10,32 +10,27 @@
postcss "^7.0.14"
purgecss "^1.4.0"
"@nodelib/fs.scandir@2.1.3":
version "2.1.3"
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b"
integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==
"@nodelib/fs.scandir@2.1.4":
version "2.1.4"
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69"
integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==
dependencies:
"@nodelib/fs.stat" "2.0.3"
"@nodelib/fs.stat" "2.0.4"
run-parallel "^1.1.9"
"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2":
version "2.0.3"
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3"
integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==
"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2":
version "2.0.4"
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655"
integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==
"@nodelib/fs.walk@^1.2.3":
version "1.2.4"
resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976"
integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==
version "1.2.6"
resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063"
integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==
dependencies:
"@nodelib/fs.scandir" "2.1.3"
"@nodelib/fs.scandir" "2.1.4"
fastq "^1.6.0"
"@types/color-name@^1.1.1":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
"@types/q@^1.5.1":
version "1.5.4"
resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24"
@ -64,11 +59,10 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1:
color-convert "^1.9.0"
ansi-styles@^4.0.0, ansi-styles@^4.1.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
version "4.3.0"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
dependencies:
"@types/color-name" "^1.1.1"
color-convert "^2.0.1"
anymatch@~3.1.1:
@ -115,9 +109,9 @@ balanced-match@^1.0.0:
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
binary-extensions@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9"
integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==
version "2.2.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
boolbase@^1.0.0, boolbase@~1.0.0:
version "1.0.0"
@ -140,14 +134,23 @@ braces@^3.0.1, braces@~3.0.2:
fill-range "^7.0.1"
browserslist@^4.0.0, browserslist@^4.12.0:
version "4.13.0"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.13.0.tgz#42556cba011e1b0a2775b611cba6a8eca18e940d"
integrity sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==
version "4.16.3"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717"
integrity sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==
dependencies:
caniuse-lite "^1.0.30001093"
electron-to-chromium "^1.3.488"
escalade "^3.0.1"
node-releases "^1.1.58"
caniuse-lite "^1.0.30001181"
colorette "^1.2.1"
electron-to-chromium "^1.3.649"
escalade "^3.1.1"
node-releases "^1.1.70"
call-bind@^1.0.0, call-bind@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
dependencies:
function-bind "^1.1.1"
get-intrinsic "^1.0.2"
caller-callsite@^2.0.0:
version "2.0.0"
@ -183,10 +186,10 @@ caniuse-api@^3.0.0:
lodash.memoize "^4.1.2"
lodash.uniq "^4.5.0"
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001093, caniuse-lite@^1.0.30001109:
version "1.0.30001110"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001110.tgz#9003e3c7f5a43ea6f1193d4d5acba0bfb152c71a"
integrity sha512-KqJWeat4rhSHF0ito4yz9q/JuZHkvn71SsBnxge4azjPDbowIjOUnS8i1xpKGxZxU6BFiPqO2hSV2eiCpFQVRw==
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001181:
version "1.0.30001192"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001192.tgz#b848ebc0ab230cf313d194a4775a30155d50ae40"
integrity sha512-63OrUnwJj5T1rUmoyqYTdRWBqFFxZFlyZnRRjDR8NSUQFB6A+j/uBORU/SyJ5WzDLg4SPiZH40hQCBNdZ/jmAw==
chalk@^2.0.1, chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2"
@ -206,9 +209,9 @@ chalk@^4.0.0:
supports-color "^7.1.0"
chokidar@^3.3.0:
version "3.4.1"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.1.tgz#e905bdecf10eaa0a0b1db0c664481cc4cbc22ba1"
integrity sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g==
version "3.5.1"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a"
integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==
dependencies:
anymatch "~3.1.1"
braces "~3.0.2"
@ -216,9 +219,9 @@ chokidar@^3.3.0:
is-binary-path "~2.1.0"
is-glob "~4.0.1"
normalize-path "~3.0.0"
readdirp "~3.4.0"
readdirp "~3.5.0"
optionalDependencies:
fsevents "~2.1.2"
fsevents "~2.3.1"
cliui@^5.0.0:
version "5.0.0"
@ -271,26 +274,26 @@ color-name@^1.0.0, color-name@~1.1.4:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
color-string@^1.5.2:
version "1.5.3"
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc"
integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==
color-string@^1.5.4:
version "1.5.4"
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6"
integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==
dependencies:
color-name "^1.0.0"
simple-swizzle "^0.2.2"
color@^3.0.0:
version "3.1.2"
resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10"
integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==
version "3.1.3"
resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e"
integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==
dependencies:
color-convert "^1.9.1"
color-string "^1.5.2"
color-string "^1.5.4"
colorette@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b"
integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==
version "1.2.2"
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
concat-map@0.0.1:
version "0.0.1"
@ -343,18 +346,18 @@ css-tree@1.0.0-alpha.37:
mdn-data "2.0.4"
source-map "^0.6.1"
css-tree@1.0.0-alpha.39:
version "1.0.0-alpha.39"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb"
integrity sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==
css-tree@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.2.tgz#9ae393b5dafd7dae8a622475caec78d3d8fbd7b5"
integrity sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==
dependencies:
mdn-data "2.0.6"
mdn-data "2.0.14"
source-map "^0.6.1"
css-what@^3.2.1:
version "3.3.0"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.3.0.tgz#10fec696a9ece2e591ac772d759aacabac38cd39"
integrity sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==
version "3.4.2"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4"
integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==
cssesc@^3.0.0:
version "3.0.0"
@ -430,18 +433,18 @@ cssnano@^4.1.10:
postcss "^7.0.0"
csso@^4.0.2:
version "4.0.3"
resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903"
integrity sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==
version "4.2.0"
resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529"
integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==
dependencies:
css-tree "1.0.0-alpha.39"
css-tree "^1.1.2"
decamelize@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
define-properties@^1.1.2, define-properties@^1.1.3:
define-properties@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
@ -474,9 +477,9 @@ domelementtype@1:
integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
domelementtype@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d"
integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==
version "2.1.0"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.1.0.tgz#a851c080a6d1c3d94344aed151d99f669edf585e"
integrity sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==
domutils@^1.7.0:
version "1.7.0"
@ -487,16 +490,16 @@ domutils@^1.7.0:
domelementtype "1"
dot-prop@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb"
integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==
version "5.3.0"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
dependencies:
is-obj "^2.0.0"
electron-to-chromium@^1.3.488:
version "1.3.518"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.518.tgz#c54ee9cf1a7bafd6e482a1a6cceac86448d941e8"
integrity sha512-IspiwXYDKZMxo+qc3Vof4WtwbG9BMDbJfati8PYj7uS4DJmJ67pwjCKZxlTBSAuCZSMcbRnj2Xz2H14uiKT7bQ==
electron-to-chromium@^1.3.649:
version "1.3.674"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.674.tgz#d97feefdf1d9411fdc9d56d17e1b9d67b818e710"
integrity sha512-DBmEKRVYLZAoQSW+AmLcTF5Bpwhk4RUkobtzXVDlfPPYIlbsH3Jfg3QbBjAfFcRARzMIo4YiMhp3N+RnMuo1Eg==
emoji-regex@^7.0.1:
version "7.0.3"
@ -509,9 +512,9 @@ emoji-regex@^8.0.0:
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
entities@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f"
integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==
version "2.2.0"
resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
error-ex@^1.3.1:
version "1.3.2"
@ -520,23 +523,43 @@ error-ex@^1.3.1:
dependencies:
is-arrayish "^0.2.1"
es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5:
version "1.17.6"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a"
integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==
es-abstract@^1.17.2:
version "1.17.7"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c"
integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==
dependencies:
es-to-primitive "^1.2.1"
function-bind "^1.1.1"
has "^1.0.3"
has-symbols "^1.0.1"
is-callable "^1.2.0"
is-regex "^1.1.0"
object-inspect "^1.7.0"
is-callable "^1.2.2"
is-regex "^1.1.1"
object-inspect "^1.8.0"
object-keys "^1.1.1"
object.assign "^4.1.0"
object.assign "^4.1.1"
string.prototype.trimend "^1.0.1"
string.prototype.trimstart "^1.0.1"
es-abstract@^1.18.0-next.2:
version "1.18.0-next.2"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.2.tgz#088101a55f0541f595e7e057199e27ddc8f3a5c2"
integrity sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==
dependencies:
call-bind "^1.0.2"
es-to-primitive "^1.2.1"
function-bind "^1.1.1"
get-intrinsic "^1.0.2"
has "^1.0.3"
has-symbols "^1.0.1"
is-callable "^1.2.2"
is-negative-zero "^2.0.1"
is-regex "^1.1.1"
object-inspect "^1.9.0"
object-keys "^1.1.1"
object.assign "^4.1.2"
string.prototype.trimend "^1.0.3"
string.prototype.trimstart "^1.0.3"
es-to-primitive@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
@ -546,10 +569,10 @@ es-to-primitive@^1.2.1:
is-date-object "^1.0.1"
is-symbol "^1.0.2"
escalade@^3.0.1:
version "3.0.2"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4"
integrity sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ==
escalade@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
escape-string-regexp@^1.0.5:
version "1.0.5"
@ -562,9 +585,9 @@ esprima@^4.0.0:
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
fast-glob@^3.1.1:
version "3.2.4"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3"
integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==
version "3.2.5"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661"
integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==
dependencies:
"@nodelib/fs.stat" "^2.0.2"
"@nodelib/fs.walk" "^1.2.3"
@ -574,9 +597,9 @@ fast-glob@^3.1.1:
picomatch "^2.2.1"
fastq@^1.6.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481"
integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==
version "1.11.0"
resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858"
integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==
dependencies:
reusify "^1.0.4"
@ -603,24 +626,24 @@ find-up@^4.1.0:
path-exists "^4.0.0"
fs-extra@^9.0.0:
version "9.0.1"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc"
integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==
version "9.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
dependencies:
at-least-node "^1.0.0"
graceful-fs "^4.2.0"
jsonfile "^6.0.1"
universalify "^1.0.0"
universalify "^2.0.0"
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
fsevents@~2.1.2:
version "2.1.3"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
fsevents@~2.3.1:
version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
function-bind@^1.1.1:
version "1.1.1"
@ -632,10 +655,19 @@ get-caller-file@^2.0.1:
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
get-stdin@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6"
integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==
get-intrinsic@^1.0.2:
version "1.1.1"
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
dependencies:
function-bind "^1.1.1"
has "^1.0.3"
has-symbols "^1.0.1"
get-stdin@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53"
integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==
glob-parent@^5.1.0, glob-parent@~5.1.0:
version "5.1.1"
@ -657,9 +689,9 @@ glob@^7.1.3:
path-is-absolute "^1.0.0"
globby@^11.0.0:
version "11.0.1"
resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357"
integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==
version "11.0.2"
resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83"
integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==
dependencies:
array-union "^2.1.0"
dir-glob "^3.0.1"
@ -669,9 +701,9 @@ globby@^11.0.0:
slash "^3.0.0"
graceful-fs@^4.1.6, graceful-fs@^4.2.0:
version "4.2.4"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
version "4.2.6"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"
integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==
has-flag@^3.0.0:
version "3.0.0"
@ -683,7 +715,7 @@ has-flag@^4.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
has-symbols@^1.0.0, has-symbols@^1.0.1:
has-symbols@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
@ -782,10 +814,10 @@ is-binary-path@~2.1.0:
dependencies:
binary-extensions "^2.0.0"
is-callable@^1.1.4, is-callable@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb"
integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==
is-callable@^1.1.4, is-callable@^1.2.2:
version "1.2.3"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e"
integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==
is-color-stop@^1.0.0:
version "1.1.0"
@ -831,6 +863,11 @@ is-glob@^4.0.1, is-glob@~4.0.1:
dependencies:
is-extglob "^2.1.1"
is-negative-zero@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==
is-number@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
@ -841,11 +878,12 @@ is-obj@^2.0.0:
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
is-regex@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9"
integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==
is-regex@^1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251"
integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==
dependencies:
call-bind "^1.0.2"
has-symbols "^1.0.1"
is-resolvable@^1.0.0:
@ -868,9 +906,9 @@ is-symbol@^1.0.2:
has-symbols "^1.0.1"
js-yaml@^3.13.1:
version "3.14.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482"
integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==
version "3.14.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
dependencies:
argparse "^1.0.7"
esprima "^4.0.0"
@ -881,11 +919,11 @@ json-parse-better-errors@^1.0.1:
integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
jsonfile@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179"
integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==
version "6.1.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
dependencies:
universalify "^1.0.0"
universalify "^2.0.0"
optionalDependencies:
graceful-fs "^4.1.6"
@ -915,9 +953,9 @@ lodash.uniq@^4.5.0:
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
lodash@^4.17.11:
version "4.17.19"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
log-symbols@^2.2.0:
version "2.2.0"
@ -926,16 +964,16 @@ log-symbols@^2.2.0:
dependencies:
chalk "^2.0.1"
mdn-data@2.0.14:
version "2.0.14"
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50"
integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
mdn-data@2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b"
integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==
mdn-data@2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978"
integrity sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==
merge2@^1.3.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
@ -968,10 +1006,10 @@ mkdirp@~0.5.1:
dependencies:
minimist "^1.2.5"
node-releases@^1.1.58:
version "1.1.60"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084"
integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA==
node-releases@^1.1.70:
version "1.1.71"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb"
integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==
normalize-path@^3.0.0, normalize-path@~3.0.0:
version "3.0.0"
@ -1000,42 +1038,43 @@ num2fraction@^1.2.2:
resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=
object-inspect@^1.7.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0"
integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==
object-inspect@^1.8.0, object-inspect@^1.9.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a"
integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==
object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1:
object-keys@^1.0.12, object-keys@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
object.assign@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
object.assign@^4.1.1, object.assign@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
dependencies:
define-properties "^1.1.2"
function-bind "^1.1.1"
has-symbols "^1.0.0"
object-keys "^1.0.11"
call-bind "^1.0.0"
define-properties "^1.1.3"
has-symbols "^1.0.1"
object-keys "^1.1.1"
object.getownpropertydescriptors@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649"
integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==
version "2.1.2"
resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7"
integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.3"
es-abstract "^1.17.0-next.1"
es-abstract "^1.18.0-next.2"
object.values@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e"
integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==
version "1.1.3"
resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee"
integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.3"
es-abstract "^1.17.0-next.1"
function-bind "^1.1.1"
es-abstract "^1.18.0-next.2"
has "^1.0.3"
once@^1.3.0:
@ -1110,24 +1149,24 @@ pify@^2.3.0:
integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
postcss-calc@^7.0.1:
version "7.0.2"
resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.2.tgz#504efcd008ca0273120568b0792b16cdcde8aac1"
integrity sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==
version "7.0.5"
resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e"
integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==
dependencies:
postcss "^7.0.27"
postcss-selector-parser "^6.0.2"
postcss-value-parser "^4.0.2"
postcss-cli@^7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/postcss-cli/-/postcss-cli-7.1.1.tgz#260f9546be260b2149bf32e28d785a0d79c9aab8"
integrity sha512-bYQy5ydAQJKCMSpvaMg0ThPBeGYqhQXumjbFOmWnL4u65CYXQ16RfS6afGQpit0dGv/fNzxbdDtx8dkqOhhIbg==
version "7.1.2"
resolved "https://registry.yarnpkg.com/postcss-cli/-/postcss-cli-7.1.2.tgz#ba8d5d918b644bd18e80ad2c698064d4c0da51cd"
integrity sha512-3mlEmN1v2NVuosMWZM2tP8bgZn7rO5PYxRRrXtdSyL5KipcgBDjJ9ct8/LKxImMCJJi3x5nYhCGFJOkGyEqXBQ==
dependencies:
chalk "^4.0.0"
chokidar "^3.3.0"
dependency-graph "^0.9.0"
fs-extra "^9.0.0"
get-stdin "^7.0.0"
get-stdin "^8.0.0"
globby "^11.0.0"
postcss "^7.0.0"
postcss-load-config "^2.0.0"
@ -1184,9 +1223,9 @@ postcss-discard-overridden@^4.0.1:
postcss "^7.0.0"
postcss-load-config@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003"
integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==
version "2.1.2"
resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a"
integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==
dependencies:
cosmiconfig "^5.0.0"
import-cwd "^2.0.0"
@ -1383,13 +1422,14 @@ postcss-selector-parser@^3.0.0:
uniq "^1.0.1"
postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c"
integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==
version "6.0.4"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3"
integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==
dependencies:
cssesc "^3.0.0"
indexes-of "^1.0.1"
uniq "^1.0.1"
util-deprecate "^1.0.2"
postcss-svgo@^4.0.2:
version "4.0.2"
@ -1421,9 +1461,9 @@ postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0:
integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.7:
version "7.0.32"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d"
integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==
version "7.0.35"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24"
integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==
dependencies:
chalk "^2.4.2"
source-map "^0.6.1"
@ -1449,6 +1489,11 @@ q@^1.1.2:
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
queue-microtask@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.2.tgz#abf64491e6ecf0f38a6502403d4cda04f372dfd3"
integrity sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg==
read-cache@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774"
@ -1456,10 +1501,10 @@ read-cache@^1.0.0:
dependencies:
pify "^2.3.0"
readdirp@~3.4.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada"
integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==
readdirp@~3.5.0:
version "3.5.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e"
integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==
dependencies:
picomatch "^2.2.1"
@ -1494,9 +1539,11 @@ rgba-regex@^1.0.0:
integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
run-parallel@^1.1.9:
version "1.1.9"
resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679"
integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==
version "1.2.0"
resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
dependencies:
queue-microtask "^1.2.2"
sax@~1.2.4:
version "1.2.4"
@ -1545,29 +1592,29 @@ string-width@^3.0.0, string-width@^3.1.0:
strip-ansi "^5.1.0"
string-width@^4.1.0, string-width@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
version "4.2.1"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.1.tgz#1933ce1f470973d224368009bd1316cad81d5f4f"
integrity sha512-LL0OLyN6AnfV9xqGQpDBwedT2Rt63737LxvsRxbcwpa2aIeynBApG2Sm//F3TaLHIR1aJBN52DWklc06b94o5Q==
dependencies:
emoji-regex "^8.0.0"
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.0"
string.prototype.trimend@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913"
integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==
string.prototype.trimend@^1.0.1, string.prototype.trimend@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"
integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.3"
es-abstract "^1.17.5"
string.prototype.trimstart@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54"
integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==
string.prototype.trimstart@^1.0.1, string.prototype.trimstart@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed"
integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.3"
es-abstract "^1.17.5"
strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
version "5.2.0"
@ -1607,9 +1654,9 @@ supports-color@^6.1.0:
has-flag "^3.0.0"
supports-color@^7.1.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
version "7.2.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
dependencies:
has-flag "^4.0.0"
@ -1654,16 +1701,21 @@ uniqs@^2.0.0:
resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI=
universalify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d"
integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==
universalify@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
unquote@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544"
integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=
util-deprecate@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
util.promisify@~1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee"
@ -1708,9 +1760,9 @@ wrappy@1:
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
y18n@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
version "4.0.1"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4"
integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==
yargs-parser@^15.0.1:
version "15.0.1"