From 1625532413f8141653d62912a82bb91c57ce912e Mon Sep 17 00:00:00 2001 From: Dmitry Voronin Date: Wed, 6 Mar 2024 01:12:17 +0300 Subject: [PATCH] Reformat code. --- .gitignore | 1 + Makefile | 10 +-- flake.nix | 3 +- image/{photo.jpg => Photo.jpg} | Bin image/icon/{ic_alcohol.png => IcAlcohol.png} | Bin image/icon/{ic_cake.png => IcCake.png} | Bin image/icon/{ic_call.png => IcCall.png} | Bin image/icon/{ic_email.png => IcEmail.png} | Bin image/icon/{ic_link.png => IcLink.png} | Bin .../icon/{ic_location.png => IcLocation.png} | Bin .../{ic_no_alcohol.png => IcNoAlcohol.png} | Bin image/icon/{ic_no_smoke.png => IcNoSmoke.png} | Bin ...c_radio_checked.png => IcRadioChecked.png} | Bin ...dio_unchecked.png => IcRadioUnchecked.png} | Bin image/icon/{ic_smoke.png => IcSmoke.png} | Bin tex/Const.tex | 35 +++++++++ tex/Main.tex | 68 ++++++++++++++++++ tex/Page.tex | 21 ++++++ tex/Shell.tex | 5 ++ tex/Style.tex | 65 +++++++++++++++++ tex/const.tex | 35 --------- tex/i18n/Month.tex | 49 +++++++++++++ tex/i18n/month.tex | 49 ------------- tex/main.tex | 68 ------------------ tex/page.tex | 21 ------ tex/page/Education.tex | 14 ++++ tex/page/Experience.tex | 6 ++ tex/page/Interest.tex | 41 +++++++++++ tex/page/Language.tex | 28 ++++++++ tex/page/Skill.tex | 31 ++++++++ tex/page/{title.tex => Title.tex} | 24 +++---- tex/page/education.tex | 14 ---- tex/page/experience.tex | 6 -- tex/page/interest.tex | 41 ----------- tex/page/language.tex | 28 -------- tex/page/skill.tex | 31 -------- tex/place/DaoEngineering.tex | 16 +++++ tex/place/Foresight.tex | 18 +++++ tex/place/Foresight2.tex | 26 +++++++ tex/place/Freelance.tex | 13 ++++ tex/place/Intersvyaz.tex | 20 ++++++ tex/place/daoengineering.tex | 16 ----- tex/place/foresight.tex | 18 ----- tex/place/foresight2.tex | 26 ------- tex/place/freelance.tex | 13 ---- tex/place/intersvyaz.tex | 20 ------ tex/shell.tex | 5 -- tex/style.tex | 65 ----------------- tex/view/Place.tex | 11 +++ tex/view/Radio.tex | 7 ++ tex/view/place.tex | 11 --- tex/view/radio.tex | 7 -- 52 files changed, 493 insertions(+), 493 deletions(-) rename image/{photo.jpg => Photo.jpg} (100%) rename image/icon/{ic_alcohol.png => IcAlcohol.png} (100%) rename image/icon/{ic_cake.png => IcCake.png} (100%) rename image/icon/{ic_call.png => IcCall.png} (100%) rename image/icon/{ic_email.png => IcEmail.png} (100%) rename image/icon/{ic_link.png => IcLink.png} (100%) rename image/icon/{ic_location.png => IcLocation.png} (100%) rename image/icon/{ic_no_alcohol.png => IcNoAlcohol.png} (100%) rename image/icon/{ic_no_smoke.png => IcNoSmoke.png} (100%) rename image/icon/{ic_radio_checked.png => IcRadioChecked.png} (100%) rename image/icon/{ic_radio_unchecked.png => IcRadioUnchecked.png} (100%) rename image/icon/{ic_smoke.png => IcSmoke.png} (100%) create mode 100644 tex/Const.tex create mode 100644 tex/Main.tex create mode 100644 tex/Page.tex create mode 100644 tex/Shell.tex create mode 100644 tex/Style.tex delete mode 100644 tex/const.tex create mode 100644 tex/i18n/Month.tex delete mode 100644 tex/i18n/month.tex delete mode 100644 tex/main.tex delete mode 100644 tex/page.tex create mode 100644 tex/page/Education.tex create mode 100644 tex/page/Experience.tex create mode 100644 tex/page/Interest.tex create mode 100644 tex/page/Language.tex create mode 100644 tex/page/Skill.tex rename tex/page/{title.tex => Title.tex} (51%) delete mode 100644 tex/page/education.tex delete mode 100644 tex/page/experience.tex delete mode 100644 tex/page/interest.tex delete mode 100644 tex/page/language.tex delete mode 100644 tex/page/skill.tex create mode 100644 tex/place/DaoEngineering.tex create mode 100644 tex/place/Foresight.tex create mode 100644 tex/place/Foresight2.tex create mode 100644 tex/place/Freelance.tex create mode 100644 tex/place/Intersvyaz.tex delete mode 100644 tex/place/daoengineering.tex delete mode 100644 tex/place/foresight.tex delete mode 100644 tex/place/foresight2.tex delete mode 100644 tex/place/freelance.tex delete mode 100644 tex/place/intersvyaz.tex delete mode 100644 tex/shell.tex delete mode 100644 tex/style.tex create mode 100644 tex/view/Place.tex create mode 100644 tex/view/Radio.tex delete mode 100644 tex/view/place.tex delete mode 100644 tex/view/radio.tex diff --git a/.gitignore b/.gitignore index a007fea..d215f57 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ build/* +.NixRoot* diff --git a/Makefile b/Makefile index 29c58b4..d7e55c9 100644 --- a/Makefile +++ b/Makefile @@ -3,10 +3,10 @@ photo = true extra = true build = $(CURDIR)/build src = $(CURDIR)/tex -target = $(src)/main.tex -output = $(build)/main.pdf -outputen = $(build)/voronind_en.pdf -outputru = $(build)/voronind_ru.pdf +target = $(src)/Main.tex +output = $(build)/Main.pdf +outputen = $(build)/VoronindEn.pdf +outputru = $(build)/VoronindRu.pdf export RESUME_COLOR := $(color) export RESUME_PHOTO := $(photo) @@ -16,7 +16,7 @@ export RESUME_EXTRA := $(extra) all: clean icon en ru open .PHONY: clean -clean: +clean: @rm -rf $(build) .PHONY: icon diff --git a/flake.nix b/flake.nix index bb31d61..a5a8dd7 100644 --- a/flake.nix +++ b/flake.nix @@ -5,8 +5,7 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; }; - outputs = { self, nixpkgs } @inputs: - let + outputs = { self, nixpkgs } @inputs: let system = "x86_64-linux"; lib = nixpkgs.lib; pkgs = nixpkgs.legacyPackages.${system}; diff --git a/image/photo.jpg b/image/Photo.jpg similarity index 100% rename from image/photo.jpg rename to image/Photo.jpg diff --git a/image/icon/ic_alcohol.png b/image/icon/IcAlcohol.png similarity index 100% rename from image/icon/ic_alcohol.png rename to image/icon/IcAlcohol.png diff --git a/image/icon/ic_cake.png b/image/icon/IcCake.png similarity index 100% rename from image/icon/ic_cake.png rename to image/icon/IcCake.png diff --git a/image/icon/ic_call.png b/image/icon/IcCall.png similarity index 100% rename from image/icon/ic_call.png rename to image/icon/IcCall.png diff --git a/image/icon/ic_email.png b/image/icon/IcEmail.png similarity index 100% rename from image/icon/ic_email.png rename to image/icon/IcEmail.png diff --git a/image/icon/ic_link.png b/image/icon/IcLink.png similarity index 100% rename from image/icon/ic_link.png rename to image/icon/IcLink.png diff --git a/image/icon/ic_location.png b/image/icon/IcLocation.png similarity index 100% rename from image/icon/ic_location.png rename to image/icon/IcLocation.png diff --git a/image/icon/ic_no_alcohol.png b/image/icon/IcNoAlcohol.png similarity index 100% rename from image/icon/ic_no_alcohol.png rename to image/icon/IcNoAlcohol.png diff --git a/image/icon/ic_no_smoke.png b/image/icon/IcNoSmoke.png similarity index 100% rename from image/icon/ic_no_smoke.png rename to image/icon/IcNoSmoke.png diff --git a/image/icon/ic_radio_checked.png b/image/icon/IcRadioChecked.png similarity index 100% rename from image/icon/ic_radio_checked.png rename to image/icon/IcRadioChecked.png diff --git a/image/icon/ic_radio_unchecked.png b/image/icon/IcRadioUnchecked.png similarity index 100% rename from image/icon/ic_radio_unchecked.png rename to image/icon/IcRadioUnchecked.png diff --git a/image/icon/ic_smoke.png b/image/icon/IcSmoke.png similarity index 100% rename from image/icon/ic_smoke.png rename to image/icon/IcSmoke.png diff --git a/tex/Const.tex b/tex/Const.tex new file mode 100644 index 0000000..340c6d3 --- /dev/null +++ b/tex/Const.tex @@ -0,0 +1,35 @@ +% Switches. +\newif\ifPhoto % Show photo. +\newif\ifExtra % Show extra content. +\newif\ifEn % English language. +\newif\ifRu % Russian language. +\newcommand{\En}[1]{\ifEn#1\fi} % Print if English language. +\newcommand{\Ru}[1]{\ifRu#1\fi} % Print if Russian language. + +% Read env variables. +\def\envTrue{true} % True. +\def\envFalse{false} % False. +\def\envEn{en} % English literal. +\def\envRu{ru} % Russian literal. +\def\envEmpty{} % Empty env value. +\getenv[\envPhoto]{RESUME_PHOTO} % Read photo shell variable. +\getenv[\envExtra]{RESUME_EXTRA} % Read extra shell variable. +\getenv[\envLang]{RESUME_LANG} % Read language shell variable. +\ifdefequal{\envPhoto}{\envTrue}{\Phototrue}{\Photofalse} % Show photo. +\ifdefequal{\envExtra}{\envTrue}{\Extratrue}{\Extrafalse} % Show extra content. +\ifdefequal{\envLang}{\envEn}{\Entrue}{} % Use English. +\ifdefequal{\envLang}{\envRu}{\Rutrue}{} % Use Russian. +\ifdefequal{\envLang}{\envEmpty}{\Entrue}{} % Use English by default. + +% personal info. +\newcommand{\Name}{% + \En{Dmitry Voronin}% + \Ru{Дмитрий Воронин} +} +\newcommand{\Location}{% + \En{St. Petersburg, Russia}% + \Ru{Санкт-Петербург, Россия} +} +\newcommand{\Birthday}{\Jun 1998} +\newcommand{\Email}{job@voronind.com} +\newcommand{\Phone}{+7(905)836-68-86} diff --git a/tex/Main.tex b/tex/Main.tex new file mode 100644 index 0000000..d5551f0 --- /dev/null +++ b/tex/Main.tex @@ -0,0 +1,68 @@ +\documentclass{article} % Basic document class (template). +\usepackage[T2A,T1]{fontenc} % Specify font encodings. +\usepackage[utf8]{inputenc} % Specify input file encodings. +\usepackage[bidi=default]{babel} % Use babel for i18n. +\usepackage{graphicx} % Image support. +\usepackage{xcolor} % Colored text support. +\usepackage{montserrat} % Custom font. +\usepackage{hyperref} % Hyperlinks. +\usepackage{indentfirst} % Auto indent for paragraphs. +\usepackage{luacode} % Lua scripts support. +\usepackage{tcolorbox} % Code blocks. +\usepackage{listofitems} % For loops. + +\input{Shell} % Import shell support. + +% Configure geometry. +\usepackage[ + a4paper, + left = 0.5in, + right = 0.5in, + top = 0.5in, + bottom = 0.5in +]{geometry} + +% Paragraph spacing. +\usepackage[ + skip = 4pt, + indent = 20pt +]{parskip} + +% Configure hyperlinks. +\hypersetup{ + linktocpage = true, + colorlinks = true, + hidelinks = true, + linktoc = all +} + +% Specify where images are stored. +\graphicspath{ {../image}{../build/image} } + +\babelprovide[import]{russian} % Add Russian support. +\babelfont{rm}{montserrat} % Use custom serif font for English. +\babelfont{sf}{montserrat} % Use custom sans font for English. +\babelfont{tt}{montserrat} % Use custom mono font for English. +\babelfont[russian]{rm}{montserrat} % Use custom serif font for Russian. +\babelfont[russian]{sf}{montserrat} % Use custom sans font for Russian. +\babelfont[russian]{tt}{montserrat} % Use custom mono font for Russian. + +\begin{document} +\input{Style} % Import common styles. +\input{Const} % Import constant values. +\input{Page} % Import pages info. +\input{i18n/Month} % Import month values. +\input{view/Radio} % Import radio view. +\input{view/Place} % Import place view. + +\input{page/Title} % Import title. +\input{page/Experience} % Import experience info. +\clearpage\noindent % INFO: temprorary page break. +\input{page/Language} % Import languages info. +\Par\noindent +\input{page/Education} % Import education info. +\Par\noindent +\input{page/Skill} % Import skills info. +\Par\noindent +\input{page/Interest} % Import interests info. +\end{document} diff --git a/tex/Page.tex b/tex/Page.tex new file mode 100644 index 0000000..8449a00 --- /dev/null +++ b/tex/Page.tex @@ -0,0 +1,21 @@ +% this is used to create constant reference links within document. +\def\PageExperience{% + \En{WORK EXPERIENCE}% + \Ru{ОПЫТ РАБОТЫ} +} +\def\PageLanguage{% + \En{LANGUAGES}% + \Ru{ЯЗЫКИ} +} +\def\PageEducation{% + \En{EDUCATION}% + \Ru{ОБРАЗОВАНИЕ} +} +\def\PageSkill{% + \En{SKILLS}% + \Ru{НАВЫКИ} +} +\def\PageInterest{% + \En{INTERESTS}% + \Ru{ИНТЕРЕСЫ} +} diff --git a/tex/Shell.tex b/tex/Shell.tex new file mode 100644 index 0000000..91e1382 --- /dev/null +++ b/tex/Shell.tex @@ -0,0 +1,5 @@ +% \getenv[\HOME]{HOME} % Example: Store $HOME shell var into \HOME cmd. +\usepackage{catchfile} +\newcommand{\getenv}[2][]{% + \CatchFileEdef{\Temp}{"|kpsewhich --var-value #2"}{\endlinechar=-1}% + \if\relax\detokenize{#1}\relax\Temp\else\let#1\Temp\fi} diff --git a/tex/Style.tex b/tex/Style.tex new file mode 100644 index 0000000..047b25f --- /dev/null +++ b/tex/Style.tex @@ -0,0 +1,65 @@ +% Colors. +\getenv[\ColorMain]{RESUME_COLOR} +\definecolor{ColorBlack}{RGB}{0,0,0} +\definecolor{ColorWhite}{RGB}{255,255,255} +\definecolor{ColorLink} {RGB}{46,116,181} +\definecolor{ColorMain} {HTML}{\ColorMain} +\definecolor{ColorGray} {RGB}{127,127,127} +\definecolor{ColorLgray}{RGB}{229,229,229} +\definecolor{ColorRef} {RGB}{53,82,105} + +\definecolor{ColorCodeBackground}{RGB}{40,42,54} +\definecolor{ColorCodeText} {RGB}{248,248,242} +\definecolor{ColorCodeString} {RGB}{80,250,123} +\definecolor{ColorCodeLiteral} {RGB}{139,233,253} +\definecolor{ColorCodeProperty} {RGB}{139,233,253} +\definecolor{ColorCodeKeyword} {RGB}{255,184,108} +\definecolor{ColorCodeComment} {RGB}{98,114,164} + +% code block. +\newtcolorbox{CodeBox}[1][]{ + colback = ColorCodeBackground, + colframe = ColorCodeBackground, + fontupper = \ttfamily, + nobeforeafter +} +\newenvironment{Code}{\begin{CodeBox}\catcode33=12\obeylines}{\end{CodeBox}} + +% styles. +\newcommand{\ResetStyle} [1]{\fontsize{12}{12}\selectfont\rm\color{ColorBlack}#1} % Reset font style. +\newcommand{\Par} [0]{\par} % Default paragraph break. +\newcommand{\Parn} [0]{\par\noindent} % Default paragraph break without indent. +\newcommand{\Text} [1]{\ResetStyle{#1}} % Default text. +\newcommand{\Itallic} [1]{\textit{#1}} % Itallic text. +\newcommand{\Bold} [1]{\textbf{#1}} % Bold text. +\newcommand{\Semibold} [1]{\fontseries{sb}{\selectfont{#1}}} % Semi-bold text. +\newcommand{\Underline} [1]{\underline{#1}} % Underline text. +\newcommand{\Link} [2]{\href{#1}{\textcolor{ColorLink}{\Underline{#2}}}} % Link webpage. +\newcommand{\TextName} [1]{\fontsize{21}{21}{\selectfont{\Semibold{#1}}}} % Name style. +\newcommand{\Color} [2]{\textcolor{#1}{#2}} % Text color alias. +\newcommand{\Icon} [1]{\raisebox{-1mm}{\includegraphics[height=5mm]{#1}}} % Icons. +\newcommand{\Href} [1]{\hyperlink{#1}{\textcolor{ColorLink}{\Underline{#1}}}} % Reference section. +\newcommand{\TextRef} [1]{\textcolor{ColorRef}{#1}} % Reference text. +\newcommand{\TextList} [1]{\textcolor{ColorLgray}{#1}} % List numbers. +\newcommand{\Bullet} [0]{\raisebox{0.5mm}{\bullet}\hspace{4mm}} % List bullet symbol. +\newcommand{\Title} [1]{\hypertarget{#1}{}\fontsize{11}{11}% + {\selectfont{\textcolor{ColorMain}{\Semibold{#1}}}}} % Section title. + +\newcommand{\BlCompact}[0]{\renewcommand{\baselinestretch}{1.0}\normalsize} % Compact baseline size. +\newcommand{\BlDefault}[0]{\renewcommand{\baselinestretch}{1.5}\normalsize} % Default baseline size. + +\newcommand{\CString} [1]{\textcolor{ColorCodeString}{#1}} +\newcommand{\CLiteral} [1]{\textcolor{ColorCodeLiteral}{#1}} +\newcommand{\CProperty}[1]{\textcolor{ColorCodeProperty}{#1}} +\newcommand{\CKeyword} [1]{\textcolor{ColorCodeKeyword}{#1}} +\newcommand{\CComment} [1]{\textcolor{ColorCodeComment}{#1}} + +\newcommand{\JLink} [1]{\Icon{IcLink}\ \href{https://#1}{\Itallic{#1}}} % Job webpage. +\newcommand{\JPlace}[2]{\ResetStyle{\Semibold{#1}}\ResetStyle\hfill\fontsize% + {10}{10}\selectfont\textcolor{ColorGray}{(#2)}} % Job place. + +% settings. +\linespread{1.5} % Height between non-breaking lines. +\sloppy % Correct word placement on newline. +\pagestyle{empty} % Suppress default styles, i.e. page numbers. +\BlDefault % Default baseline size. diff --git a/tex/const.tex b/tex/const.tex deleted file mode 100644 index 474c2f1..0000000 --- a/tex/const.tex +++ /dev/null @@ -1,35 +0,0 @@ -% switches. -\newif\ifphoto % show photo. -\newif\ifextra % show extra content. -\newif\ifen % english language. -\newif\ifru % russian language. -\newcommand{\en}[1]{\ifen#1\fi} % print if english language. -\newcommand{\ru}[1]{\ifru#1\fi} % print if russian language. - -% read env variables. -\def\envtrue{true} % true. -\def\envfalse{false} % false. -\def\enven{en} % english literal. -\def\envru{ru} % russian literal. -\def\envempty{} % empty env value. -\getenv[\envphoto]{RESUME_PHOTO} % read photo shell variable. -\getenv[\envextra]{RESUME_EXTRA} % read extra shell variable. -\getenv[\envlang]{RESUME_LANG} % read language shell variable. -\ifdefequal{\envphoto}{\envtrue}{\phototrue}{\photofalse} % show photo. -\ifdefequal{\envextra}{\envtrue}{\extratrue}{\extrafalse} % show extra content. -\ifdefequal{\envlang}{\enven}{\entrue}{} % use english. -\ifdefequal{\envlang}{\envru}{\rutrue}{} % use russian. -\ifdefequal{\envlang}{\envempty}{\entrue}{} % use english by default. - -% personal info. -\newcommand{\name}{% - \en{Dmitry Voronin}% - \ru{Дмитрий Воронин} -} -\newcommand{\location}{% - \en{St. Petersburg, Russia}% - \ru{Санкт-Петербург, Россия} -} -\newcommand{\birthday}{\jun 1998} -\newcommand{\email}{job@voronind.com} -\newcommand{\phone}{+7(905)836-68-86} diff --git a/tex/i18n/Month.tex b/tex/i18n/Month.tex new file mode 100644 index 0000000..801b032 --- /dev/null +++ b/tex/i18n/Month.tex @@ -0,0 +1,49 @@ +% months. +\newcommand{\Jan}{% + \En{January}% + \Ru{Январь} +} +\newcommand{\Feb}{% + \En{February}% + \Ru{Февраль} +} +\newcommand{\Mar}{% + \En{March}% + \Ru{Март} +} +\newcommand{\Apr}{% + \En{April}% + \Ru{Апрель} +} +\newcommand{\May}{% + \En{May}% + \Ru{Май} +} +\newcommand{\Jun}{% + \En{June}% + \Ru{Июнь} +} +\newcommand{\Jul}{% + \En{July}% + \Ru{Июль} +} +\newcommand{\Aug}{% + \En{August}% + \Ru{Август} +} +\newcommand{\Sep}{% + \En{September}% + \Ru{Сентябрь} +} +\newcommand{\Oct}{% + \En{October}% + \Ru{Октябрь} +} +\newcommand{\Nov}{% + \En{November}% + \Ru{Ноябрь} +} +\newcommand{\Dec}{% + \En{December}% + \Ru{Декабрь} +} diff --git a/tex/i18n/month.tex b/tex/i18n/month.tex deleted file mode 100644 index 40c5666..0000000 --- a/tex/i18n/month.tex +++ /dev/null @@ -1,49 +0,0 @@ -% months. -\newcommand{\jan}{% - \en{January}% - \ru{Январь} -} -\newcommand{\feb}{% - \en{February}% - \ru{Февраль} -} -\newcommand{\mar}{% - \en{March}% - \ru{Март} -} -\newcommand{\apr}{% - \en{April}% - \ru{Апрель} -} -\newcommand{\may}{% - \en{May}% - \ru{Май} -} -\newcommand{\jun}{% - \en{June}% - \ru{Июнь} -} -\newcommand{\jul}{% - \en{July}% - \ru{Июль} -} -\newcommand{\aug}{% - \en{August}% - \ru{Август} -} -\newcommand{\sep}{% - \en{September}% - \ru{Сентябрь} -} -\newcommand{\oct}{% - \en{October}% - \ru{Октябрь} -} -\newcommand{\nov}{% - \en{November}% - \ru{Ноябрь} -} -\newcommand{\dec}{% - \en{December}% - \ru{Декабрь} -} diff --git a/tex/main.tex b/tex/main.tex deleted file mode 100644 index 1311730..0000000 --- a/tex/main.tex +++ /dev/null @@ -1,68 +0,0 @@ -\documentclass{article} % basic document class (template). -\usepackage[T2A,T1]{fontenc} % specify font encodings. -\usepackage[utf8]{inputenc} % specify input file encodings. -\usepackage[bidi=default]{babel} % use babel for i18n. -\usepackage{graphicx} % image support. -\usepackage{xcolor} % colored text support. -\usepackage{montserrat} % custom font. -\usepackage{hyperref} % hyperlinks. -\usepackage{indentfirst} % auto indent for paragraphs. -\usepackage{luacode} % lua scripts support. -\usepackage{tcolorbox} % code blocks. -\usepackage{listofitems} % for loops. - -\input{shell} % import shell support. - -% configure geometry. -\usepackage[ - a4paper, - left = 0.5in, - right = 0.5in, - top = 0.5in, - bottom = 0.5in -]{geometry} - -% paragraph spacing. -\usepackage[ - skip = 4pt, - indent = 20pt -]{parskip} - -% configure hyperlinks. -\hypersetup{ - linktocpage = true, - colorlinks = true, - hidelinks = true, - linktoc = all -} - -% specify where images are stored. -\graphicspath{ {../image}{../build/image} } - -\babelprovide[import]{russian} % add russian support. -\babelfont{rm}{montserrat} % use custom serif font for english. -\babelfont{sf}{montserrat} % use custom sans font for english. -\babelfont{tt}{montserrat} % use custom mono font for english. -\babelfont[russian]{rm}{montserrat} % use custom serif font for russian. -\babelfont[russian]{sf}{montserrat} % use custom sans font for russian. -\babelfont[russian]{tt}{montserrat} % use custom mono font for russian. - -\begin{document} -\input{style} % import common styles. -\input{const} % import constant values. -\input{page} % import pages info. -\input{i18n/month} % import month values. -\input{view/radio} % import radio view. -\input{view/place} % import place view. - -\input{page/title} % import title. -\input{page/experience} % import experience info. -\clearpage\noindent % INFO: temprorary page break. -\input{page/language} % import languages info. -\spar\noindent -\input{page/education} % import education info. -\spar\noindent -\input{page/skill} % import skills info. -\spar\noindent -\input{page/interest} % import interests info. -\end{document} diff --git a/tex/page.tex b/tex/page.tex deleted file mode 100644 index 918e5a1..0000000 --- a/tex/page.tex +++ /dev/null @@ -1,21 +0,0 @@ -% this is used to create constant reference links within document. -\def\pexperience{% - \en{WORK EXPERIENCE}% - \ru{ОПЫТ РАБОТЫ} -} -\def\planguage{% - \en{LANGUAGES}% - \ru{ЯЗЫКИ} -} -\def\peducation{% - \en{EDUCATION}% - \ru{ОБРАЗОВАНИЕ} -} -\def\pskill{% - \en{SKILLS}% - \ru{НАВЫКИ} -} -\def\pinterest{% - \en{INTERESTS}% - \ru{ИНТЕРЕСЫ} -} diff --git a/tex/page/Education.tex b/tex/page/Education.tex new file mode 100644 index 0000000..e75d367 --- /dev/null +++ b/tex/page/Education.tex @@ -0,0 +1,14 @@ +\Title{\PageEducation}\newline +\Place{% + \En{South Ural State University}% + \Ru{Южно-Уральский Государственный Университет} +}{% + \Aug 2016 - \Aug 2021% +}{% + \En{Bachelor, Computer Science}% + \Ru{Бакалавр, ЭВМ}\newline + \En{Main goal in education was to learn how to find optimal solutions to real problems and how to work with electronics from their structure to interfaces. I learned how to code completely by myself. I'd actually say it came to me like an essential skill. After three years I continued as a part-study. Mainly because I personally thought I'd outgrown the study curve my university provided. That was not only my opinion, but opinions of certain professors I had luck to work with.}% + \Ru{Главной целью в образовании было обучение поиску оптимальных решений реальных проблем и работе с электроникой от её структуры до интерфейсов. Я научился писать код полностью самостоятельно. Точнее сказать, этот навык стал для меня естественным. После трёх лет очного обучения я продолжил обучение заочно. Основной причиной стало ощущение, что обучение в университете стало слишком медленным для меня. Это было не только моё мнение, но и мнения некоторых профессоров с которыми мне посчастливилось работать.} +}{% + susu.ru +}{;} diff --git a/tex/page/Experience.tex b/tex/page/Experience.tex new file mode 100644 index 0000000..eca16df --- /dev/null +++ b/tex/page/Experience.tex @@ -0,0 +1,6 @@ +\Title{\PageExperience}\newline +\input{place/Foresight2} +\input{place/Foresight} +\input{place/Freelance} +\input{place/Intersvyaz} +\input{place/DaoEngineering} diff --git a/tex/page/Interest.tex b/tex/page/Interest.tex new file mode 100644 index 0000000..777f701 --- /dev/null +++ b/tex/page/Interest.tex @@ -0,0 +1,41 @@ +\Title{\PageInterest}\Par\vspace{-4mm}\noindent +\begin{minipage}[t]{0.5\textwidth} + \Text{\Semibold{% + \En{Self-Hosting}% + \Ru{Self-Hosting} + }}\newline + \Text{\raggedright % + \En{Hardware, Linux Administration, Networking, Data protection, Web Apps, IoT.}% + \Ru{Оборудование, Администрирование Linux, Сети, Защита данных, Web-приложения, IoT.} + }\newline +\end{minipage} +\begin{minipage}[t]{0.5\textwidth} + \Text{\Semibold{% + \En{3D Modeling}% + \Ru{3D Моделирование} + }}\newline + \Text{\raggedright Blender.}\newline +\end{minipage} +\begin{minipage}[t]{0.5\textwidth} + \Text{\Semibold{% + \En{Music}% + \Ru{Музыка} + }}\newline + \Text{\raggedright % + \En{Guitar, Synth.}% + \Ru{Гитара, Синтезатор.} + } +\end{minipage} +\begin{minipage}[t]{0.5\textwidth} + \Text{\Semibold{% + \En{Cooking}% + \Ru{Готовка} + }}\newline + \Text{\raggedright % + \En{Asian kitchen, Desserts.}% + \Ru{Азиатская кухня, Десерты.} + } +\end{minipage} +\Parn\Parn +\Icon{IcNoSmoke} +\Icon{IcNoAlcohol} diff --git a/tex/page/Language.tex b/tex/page/Language.tex new file mode 100644 index 0000000..e01ca73 --- /dev/null +++ b/tex/page/Language.tex @@ -0,0 +1,28 @@ +\Title{\PageLanguage}\Par\vspace{1mm}\noindent +\begin{minipage}{0.33\textwidth} + \Text{\Semibold{% + \En{Russian}% + \Ru{Русский} + }}\newline + \Text{% + \En{Native}% + \Ru{Родной} + }\newline + \Radio{5} +\end{minipage} +\begin{minipage}{0.33\textwidth} + \Text{\Semibold{% + \En{English}% + \Ru{Английский} + }}\newline + \Text{C1}\newline + \Radio{5} +\end{minipage} +\begin{minipage}{0.33\textwidth} + \Text{\Semibold{% + \En{French} + \Ru{Французский} + }}\newline + \Text{A2}\newline + \Radio{2} +\end{minipage} diff --git a/tex/page/Skill.tex b/tex/page/Skill.tex new file mode 100644 index 0000000..a121d5e --- /dev/null +++ b/tex/page/Skill.tex @@ -0,0 +1,31 @@ +\Title{\PageSkill}\Par\vspace{-4mm}\noindent +\begin{minipage}[t]{0.5\textwidth} + \Text{\Semibold{% + \En{Mobile Development}% + \Ru{Мобильная разработка} + }}\newline + \Radio{5}\newline + \Text{\raggedright Android, Kotlin, Kotlin Multiplatform (KMP), Java, MVP/MVVM, Coroutines, AndroidX, Compose, Dagger/Hilt, NDK, Material, Android TV, Android ROM, React Native, Android lib.}\newline +\end{minipage} +\begin{minipage}[t]{0.5\textwidth} + \Text{\Semibold{% + \En{Web Development}% + \Ru{Вэб разработка} + }}\newline + \Radio{3}\newline + \Text{\raggedright Rust, Go, HTML, CSS, JS (jQuery), Bootstrap, Java EE (Spring, Struts, Hibernate), PHP (Yii, Laravel), Nginx, Clojure, Python (Django), SQL.}\newline +\end{minipage}\newline +\begin{minipage}[t]{0.5\textwidth} + \Text{\Semibold{% + \En{General}% + \Ru{Общее} + }}\newline + \Text{\raggedright \En{Algorithms}\Ru{Алгоритмы}, \En{Data structures}\Ru{Структуры данных}, Linux (\En{daily since}\Ru{ежедневно с} 2014), Docker/Compose, Git, \En{Reverse engineering}\Ru{Реверс-инжиниринг} (IDA, JD-GUI), \En{Cryptography}\Ru{Криптография}.} +\end{minipage} +\begin{minipage}[t]{0.5\textwidth} + \Text{\Semibold{% + \En{Other}% + \Ru{Другое} + }}\newline + \Text{\raggedright \LaTeX,\ Nix, Neovim, Bash, C/C++, Lua, Swing, OpenJFX, OpenCV, dlib, Smali, CTF, GIMP, Blender.} +\end{minipage} diff --git a/tex/page/title.tex b/tex/page/Title.tex similarity index 51% rename from tex/page/title.tex rename to tex/page/Title.tex index 5458871..1ef21d7 100644 --- a/tex/page/title.tex +++ b/tex/page/Title.tex @@ -1,32 +1,32 @@ \hspace{-8mm} -\ifphoto +\ifPhoto \begin{minipage}{0.2\textwidth} - \includegraphics[width=3cm]{photo} % photo. + \includegraphics[width=3cm]{Photo} % photo. \end{minipage} \fi \begin{minipage}{0.8\textwidth} % name with required fix for montserrat font. % \hspace{-3mm} - \sname{\name} + \TextName{\Name} \vspace{4mm} \newline % location. - \sicon{ic_location} - \stext{\location} + \Icon{IcLocation} + \Text{\Location} \vspace{2mm} \newline % birthday, email & phone number. - \sicon{ic_cake} - \stext{\birthday} + \Icon{IcCake} + \Text{\Birthday} \hspace{2mm} - \sicon{ic_email} - \stext{\href{mailto:\email}{\ \email}} + \Icon{IcEmail} + \Text{\href{mailto:\Email}{\ \Email}} \hspace{2mm} - \sicon{ic_call} - \stext{\href{https://t.me/voronind_com}{Telegram}} + \Icon{IcCall} + \Text{\href{https://t.me/voronind\_com}{Telegram}} \end{minipage} % separator. \hspace{-8mm}{% - \color{lgray}{\rule{\linewidth}{1pt}} + \color{ColorLgray}{\rule{\linewidth}{1pt}} } diff --git a/tex/page/education.tex b/tex/page/education.tex deleted file mode 100644 index 5ccc16a..0000000 --- a/tex/page/education.tex +++ /dev/null @@ -1,14 +0,0 @@ -\stitle{\peducation}\newline -\place{% - \en{South Ural State University}% - \ru{Южно-Уральский Государственный Университет} -}{% - \aug 2016 - \aug 2021% -}{% - \en{Bachelor, Computer Science}% - \ru{Бакалавр, ЭВМ}\newline - \en{Main goal in education was to learn how to find optimal solutions to real problems and how to work with electronics from their structure to interfaces. I learned how to code completely by myself. I'd actually say it came to me like an essential skill. After three years I continued as a part-study. Mainly because I personally thought I'd outgrown the study curve my university provided. That was not only my opinion, but opinions of certain professors I had luck to work with.}% - \ru{Главной целью в образовании было обучение поиску оптимальных решений реальных проблем и работе с электроникой от её структуры до интерфейсов. Я научился писать код полностью самостоятельно. Точнее сказать, этот навык стал для меня естественным. После трёх лет очного обучения я продолжил обучение заочно. Основной причиной стало ощущение, что обучение в университете стало слишком медленным для меня. Это было не только моё мнение, но и мнения некоторых профессоров с которыми мне посчастливилось работать.} -}{% - susu.ru -}{;} diff --git a/tex/page/experience.tex b/tex/page/experience.tex deleted file mode 100644 index 067a907..0000000 --- a/tex/page/experience.tex +++ /dev/null @@ -1,6 +0,0 @@ -\stitle{\pexperience}\newline -\input{place/foresight2} -\input{place/foresight} -\input{place/freelance} -\input{place/intersvyaz} -\input{place/daoengineering} diff --git a/tex/page/interest.tex b/tex/page/interest.tex deleted file mode 100644 index 17b1d67..0000000 --- a/tex/page/interest.tex +++ /dev/null @@ -1,41 +0,0 @@ -\stitle{\pinterest}\spar\vspace{-4mm}\noindent -\begin{minipage}[t]{0.5\textwidth} - \stext{\ssemibold{% - \en{Self-Hosting}% - \ru{Self-Hosting} - }}\newline - \stext{\raggedright % - \en{Hardware, Linux Administration, Networking, Data protection, Web Apps, IoT.}% - \ru{Оборудование, Администрирование Linux, Сети, Защита данных, Web-приложения, IoT.} - }\newline -\end{minipage} -\begin{minipage}[t]{0.5\textwidth} - \stext{\ssemibold{% - \en{3D Modeling}% - \ru{3D Моделирование} - }}\newline - \stext{\raggedright Blender.}\newline -\end{minipage} -\begin{minipage}[t]{0.5\textwidth} - \stext{\ssemibold{% - \en{Music}% - \ru{Музыка} - }}\newline - \stext{\raggedright % - \en{Guitar, Synth.}% - \ru{Гитара, Синтезатор.} - } -\end{minipage} -\begin{minipage}[t]{0.5\textwidth} - \stext{\ssemibold{% - \en{Cooking}% - \ru{Готовка} - }}\newline - \stext{\raggedright % - \en{Asian kitchen, Desserts.}% - \ru{Азиатская кухня, Десерты.} - } -\end{minipage} -\sparn\sparn -\sicon{ic_no_smoke} -\sicon{ic_no_alcohol} diff --git a/tex/page/language.tex b/tex/page/language.tex deleted file mode 100644 index be004fa..0000000 --- a/tex/page/language.tex +++ /dev/null @@ -1,28 +0,0 @@ -\stitle{\planguage}\spar\vspace{1mm}\noindent -\begin{minipage}{0.33\textwidth} - \stext{\ssemibold{% - \en{Russian}% - \ru{Русский} - }}\newline - \stext{% - \en{Native}% - \ru{Родной} - }\newline - \radio{5} -\end{minipage} -\begin{minipage}{0.33\textwidth} - \stext{\ssemibold{% - \en{English}% - \ru{Английский} - }}\newline - \stext{C1}\newline - \radio{5} -\end{minipage} -\begin{minipage}{0.33\textwidth} - \stext{\ssemibold{% - \en{French} - \ru{Французский} - }}\newline - \stext{A2}\newline - \radio{2} -\end{minipage} diff --git a/tex/page/skill.tex b/tex/page/skill.tex deleted file mode 100644 index c78cc27..0000000 --- a/tex/page/skill.tex +++ /dev/null @@ -1,31 +0,0 @@ -\stitle{\pskill}\spar\vspace{-4mm}\noindent -\begin{minipage}[t]{0.5\textwidth} - \stext{\ssemibold{% - \en{Mobile Development}% - \ru{Мобильная разработка} - }}\newline - \radio{5}\newline - \stext{\raggedright Android, Kotlin, Kotlin Multiplatform (KMP), Java, MVP/MVVM, Coroutines, AndroidX, Compose, Dagger/Hilt, NDK, Material, Android TV, Android ROM, React Native, Android lib.}\newline -\end{minipage} -\begin{minipage}[t]{0.5\textwidth} - \stext{\ssemibold{% - \en{Web Development}% - \ru{Вэб разработка} - }}\newline - \radio{3}\newline - \stext{\raggedright Rust, Go, HTML, CSS, JS (jQuery), Bootstrap, Java EE (Spring, Struts, Hibernate), PHP (Yii, Laravel), Nginx, Clojure, Python (Django), SQL.}\newline -\end{minipage}\newline -\begin{minipage}[t]{0.5\textwidth} - \stext{\ssemibold{% - \en{General}% - \ru{Общее} - }}\newline - \stext{\raggedright \en{Algorithms}\ru{Алгоритмы}, \en{Data structures}\ru{Структуры данных}, Linux (\en{daily since}\ru{ежедневно с} 2014), Docker/Compose, Git, \en{Reverse engineering}\ru{Реверс-инжиниринг} (IDA, JD-GUI), \en{Cryptography}\ru{Криптография}.} -\end{minipage} -\begin{minipage}[t]{0.5\textwidth} - \stext{\ssemibold{% - \en{Other}% - \ru{Другое} - }}\newline - \stext{\raggedright \LaTeX,\ Nix, Neovim, Bash, C/C++, Lua, Swing, OpenJFX, OpenCV, dlib, Smali, CTF, GIMP, Blender.} -\end{minipage} diff --git a/tex/place/DaoEngineering.tex b/tex/place/DaoEngineering.tex new file mode 100644 index 0000000..ddc474b --- /dev/null +++ b/tex/place/DaoEngineering.tex @@ -0,0 +1,16 @@ +\Place{% + DAO Engineering +}{% + \Sep 2017 - \Jun 2018% +}{% + \En{Android Developer}% + \Ru{Андроид Разработчик} +}{% +}{% + \En{Mainly Android development, also worked with Java, NDK, OpenCV, dlib.}% + \Ru{Основное время - Android разработка. Также работал с Java, NDK, OpenCV, dlib.};% + \En{Implemented facial regnitions and image post-processing.}% + \Ru{Реализовал распознавание лиц и пост-обработку изображений.};% + \En{Gathered experience of intense development with Android framework, including non-trivial custom View elements.}% + \Ru{Получил опыт интенсивной разработки с использованием фреймворка Android, включая нетривиальные кастомные View.} +} diff --git a/tex/place/Foresight.tex b/tex/place/Foresight.tex new file mode 100644 index 0000000..863d1e0 --- /dev/null +++ b/tex/place/Foresight.tex @@ -0,0 +1,18 @@ +\Place{% + \En{Foresight}% + \Ru{Форсайт} +}{% + \Oct 2019 - \Oct 2021% +}{% + \En{Android Developer}% + \Ru{Андроид Разработчик} +}{% + fsight.ru +}{% + \En{Supporting middleware library and developing applications with it.}% + \Ru{Поддержка middleware библиотеки и разработка с ней приложений.};% + \En{Interviewing people.}% + \Ru{Проведение интервью.};% + \En{Technical presentation of platform.}% + \Ru{Техническая презентация платформы.} +} diff --git a/tex/place/Foresight2.tex b/tex/place/Foresight2.tex new file mode 100644 index 0000000..9418b80 --- /dev/null +++ b/tex/place/Foresight2.tex @@ -0,0 +1,26 @@ +\Place{% + \En{Foresight}% + \Ru{Форсайт} +}{% + \Oct 2021 - {\En{Present}\Ru{Сейчас}}% +}{% + \En{Mobile Team Lead}% + \Ru{Ведущий мобильный разработчик} +}{% + fsight.ru +}{% + \En{Supporting middleware library and developing applications with it.}% + \Ru{Поддержка middleware библиотеки и разработка с ней приложений.};% + \En{Providing vector for mobile development outside of roadmap.}% + \Ru{Предоставление вектора мобильной разработки вне дорожной карты.};% + \En{Delivery management.}% + \Ru{Ответственный за доставку продукта.};% + \En{Adaptation of new personnel.}% + \Ru{Адаптация новых членов команды.};% + \En{Main code-review.}% + \Ru{Ответственный за code-review.};% + \En{Technical consulting.}% + \Ru{Техническая консультация.};% + \En{Workshop speaker.}% + \Ru{Ведущий мастер-классов.} +} diff --git a/tex/place/Freelance.tex b/tex/place/Freelance.tex new file mode 100644 index 0000000..a428ea2 --- /dev/null +++ b/tex/place/Freelance.tex @@ -0,0 +1,13 @@ +\Place{% + \En{Freelance}% + \Ru{Фриланс} +}{% + \Feb 2019 - \Oct 2019% +}{% + \En{Freelance}% + \Ru{Фриланс} +}{% +}{% + \En{Made complete web and mobile applications, support chat bots for local business.}% + \Ru{Создание web и мобильных приложений, чат-ботов для местного бизнеса.} +} diff --git a/tex/place/Intersvyaz.tex b/tex/place/Intersvyaz.tex new file mode 100644 index 0000000..6b9737e --- /dev/null +++ b/tex/place/Intersvyaz.tex @@ -0,0 +1,20 @@ +\Place{% + \En{Intersvyaz, federal ISP}% + \Ru{Интерсвязь} +}{% + \Jun 2018 - \Feb 2019% +}{% + \En{Software Engineer}% + \Ru{Инженер ПО} +}{% + is74.ru +}{% + \En{Used to solve tasks of mobile and web development.}% + \Ru{Решение задач мобильной и web разработки.};% + \En{Gathered experience with customizing Android ROM and reverse engineering.}% + \Ru{Получил опыт кастомизации прошивок Android и реверс-инжиниринга.};% + \En{Created firmware for Amlogic TV boxes based on firmware from similar device. Fixed completely broken building system, debugged and fixed many system problems.}% + \Ru{Создал прошивку для проигрывателей Amlogic TV на основе прошивки похожего устройства. Восстановил полностью нерабочую систему сборки, отладил и исправил множество системных проблем.};% + \En{Recieved experience of collecting video playback stats, multitreading. Processed, stored and represented big amounts of data.}% + \Ru{Получил опыт сбора статистики воспроизведения видео и многопоточной обработки. Обработал, сохранил и отобразил большое количество данных.} +} diff --git a/tex/place/daoengineering.tex b/tex/place/daoengineering.tex deleted file mode 100644 index 25493ff..0000000 --- a/tex/place/daoengineering.tex +++ /dev/null @@ -1,16 +0,0 @@ -\place{% - DAO Engineering -}{% - \sep 2017 - \jun 2018% -}{% - \en{Android Developer}% - \ru{Андроид Разработчик} -}{% -}{% - \en{Mainly Android development, also worked with Java, NDK, OpenCV, dlib.}% - \ru{Основное время - Android разработка. Также работал с Java, NDK, OpenCV, dlib.};% - \en{Implemented facial regnitions and image post-processing.}% - \ru{Реализовал распознавание лиц и пост-обработку изображений.};% - \en{Gathered experience of intense development with Android framework, including non-trivial custom View elements.}% - \ru{Получил опыт интенсивной разработки с использованием фреймворка Android, включая нетривиальные кастомные View.} -} diff --git a/tex/place/foresight.tex b/tex/place/foresight.tex deleted file mode 100644 index 1d63270..0000000 --- a/tex/place/foresight.tex +++ /dev/null @@ -1,18 +0,0 @@ -\place{% - \en{Foresight}% - \ru{Форсайт} -}{% - \oct 2019 - \oct 2021% -}{% - \en{Android Developer}% - \ru{Андроид Разработчик} -}{% - fsight.ru -}{% - \en{Supporting middleware library and developing applications with it.}% - \ru{Поддержка middleware библиотеки и разработка с ней приложений.};% - \en{Interviewing people.}% - \ru{Проведение интервью.};% - \en{Technical presentation of platform.}% - \ru{Техническая презентация платформы.} -} diff --git a/tex/place/foresight2.tex b/tex/place/foresight2.tex deleted file mode 100644 index d9f9c47..0000000 --- a/tex/place/foresight2.tex +++ /dev/null @@ -1,26 +0,0 @@ -\place{% - \en{Foresight}% - \ru{Форсайт} -}{% - \oct 2021 - {\en{Present}\ru{Сейчас}}% -}{% - \en{Mobile Team Lead}% - \ru{Ведущий мобильный разработчик} -}{% - fsight.ru -}{% - \en{Supporting middleware library and developing applications with it.}% - \ru{Поддержка middleware библиотеки и разработка с ней приложений.};% - \en{Providing vector for mobile development outside of roadmap.}% - \ru{Предоставление вектора мобильной разработки вне дорожной карты.};% - \en{Delivery management.}% - \ru{Ответственный за доставку продукта.};% - \en{Adaptation of new personnel.}% - \ru{Адаптация новых членов команды.};% - \en{Main code-review.}% - \ru{Ответственный за code-review.};% - \en{Technical consulting.}% - \ru{Техническая консультация.};% - \en{Workshop speaker.}% - \ru{Ведущий мастер-классов.} -} diff --git a/tex/place/freelance.tex b/tex/place/freelance.tex deleted file mode 100644 index 6b62299..0000000 --- a/tex/place/freelance.tex +++ /dev/null @@ -1,13 +0,0 @@ -\place{% - \en{Freelance}% - \ru{Фриланс} -}{% - \feb 2019 - \oct 2019% -}{% - \en{Freelance}% - \ru{Фриланс} -}{% -}{% - \en{Made complete web and mobile applications, support chat bots for local business.}% - \ru{Создание web и мобильных приложений, чат-ботов для местного бизнеса.} -} diff --git a/tex/place/intersvyaz.tex b/tex/place/intersvyaz.tex deleted file mode 100644 index a603197..0000000 --- a/tex/place/intersvyaz.tex +++ /dev/null @@ -1,20 +0,0 @@ -\place{% - \en{Intersvyaz, federal ISP}% - \ru{Интерсвязь} -}{% - \jun 2018 - \feb 2019% -}{% - \en{Software Engineer}% - \ru{Инженер ПО} -}{% - is74.ru -}{% - \en{Used to solve tasks of mobile and web development.}% - \ru{Решение задач мобильной и web разработки.};% - \en{Gathered experience with customizing Android ROM and reverse engineering.}% - \ru{Получил опыт кастомизации прошивок Android и реверс-инжиниринга.};% - \en{Created firmware for Amlogic TV boxes based on firmware from similar device. Fixed completely broken building system, debugged and fixed many system problems.}% - \ru{Создал прошивку для проигрывателей Amlogic TV на основе прошивки похожего устройства. Восстановил полностью нерабочую систему сборки, отладил и исправил множество системных проблем.};% - \en{Recieved experience of collecting video playback stats, multitreading. Processed, stored and represented big amounts of data.}% - \ru{Получил опыт сбора статистики воспроизведения видео и многопоточной обработки. Обработал, сохранил и отобразил большое количество данных.} -} diff --git a/tex/shell.tex b/tex/shell.tex deleted file mode 100644 index 7eea382..0000000 --- a/tex/shell.tex +++ /dev/null @@ -1,5 +0,0 @@ -% \getenv[\HOME]{HOME} % example: store $HOME shell var into \HOME cmd. -\usepackage{catchfile} -\newcommand{\getenv}[2][]{% - \CatchFileEdef{\temp}{"|kpsewhich --var-value #2"}{\endlinechar=-1}% - \if\relax\detokenize{#1}\relax\temp\else\let#1\temp\fi} diff --git a/tex/style.tex b/tex/style.tex deleted file mode 100644 index f5679ae..0000000 --- a/tex/style.tex +++ /dev/null @@ -1,65 +0,0 @@ -% colors. -\getenv[\colormain]{RESUME_COLOR} -\definecolor{black}{RGB}{0,0,0} -\definecolor{white}{RGB}{255,255,255} % default white. -\definecolor{link} {RGB}{46,116,181} % web link. -\definecolor{main} {HTML}{\colormain} % main. -\definecolor{gray} {RGB}{127,127,127} % gray. -\definecolor{lgray}{RGB}{229,229,229} % light gray. -\definecolor{ref} {RGB}{53,82,105} % reference color. - -\definecolor{code_background}{RGB}{40,42,54} % code background. -\definecolor{code_text} {RGB}{248,248,242} % code default text. -\definecolor{code_string} {RGB}{80,250,123} % code string colors like "hello world". -\definecolor{code_literal} {RGB}{139,233,253} % code literal colors like "8L". -\definecolor{code_property} {RGB}{139,233,253} % code properties like variables and methods. -\definecolor{code_keyword} {RGB}{255,184,108} % code keywords like "val", "fun" etc. -\definecolor{code_comment} {RGB}{98,114,164} % code comment colors like // todo. - -% code block. -\newtcolorbox{scodebox}[1][]{ - colback = code_background, - colframe = code_background, - fontupper = \ttfamily, - nobeforeafter -} -\newenvironment{scode}{\begin{scodebox}\catcode33=12\obeylines}{\end{scodebox}} - -% styles. -\newcommand{\sreset} [1]{\fontsize{12}{12}\selectfont\rm\color{black}#1} % reset font style. -\newcommand{\spar} [0]{\par} % default paragraph break. -\newcommand{\sparn} [0]{\par\noindent} % default paragraph break without indent. -\newcommand{\stext} [1]{\sreset{#1}} % default text. -\newcommand{\sitallic} [1]{\textit{#1}} % itallic text. -\newcommand{\sbold} [1]{\textbf{#1}} % bold text. -\newcommand{\ssemibold} [1]{\fontseries{sb}{\selectfont{#1}}} % semi-bold text. -\newcommand{\sunderline}[1]{\underline{#1}} % underline text. -\newcommand{\slink} [2]{\href{#1}{\textcolor{link}{\sunderline{#2}}}} % link webpage. -\newcommand{\sname} [1]{\fontsize{21}{21}{\selectfont{\ssemibold{#1}}}} % name style. -\newcommand{\scolor} [2]{\textcolor{#1}{#2}} % text color alias. -\newcommand{\sicon} [1]{\raisebox{-1mm}{\includegraphics[height=5mm]{#1}}} % icons. -\newcommand{\shref} [1]{\hyperlink{#1}{\textcolor{link}{\sunderline{#1}}}} % reference section. -\newcommand{\sref} [1]{\textcolor{ref}{#1}} % reference text. -\newcommand{\slist} [1]{\textcolor{lgray}{#1}} % list numbers. -\newcommand{\sbullet} [0]{\raisebox{0.5mm}{\bullet}\hspace{4mm}} % list bullet symbol. -\newcommand{\stitle} [1]{\hypertarget{#1}{}\fontsize{11}{11}% - {\selectfont{\textcolor{main}{\ssemibold{#1}}}}} % section title. - -\newcommand{\sblcompact}[0]{\renewcommand{\baselinestretch}{1.0}\normalsize} % compact baseline size. -\newcommand{\sbldefault}[0]{\renewcommand{\baselinestretch}{1.5}\normalsize} % default baseline size. - -\newcommand{\scstring} [1]{\textcolor{code_string}{#1}} % color code string. -\newcommand{\scliteral} [1]{\textcolor{code_literal}{#1}} % color code literal. -\newcommand{\scproperty}[1]{\textcolor{code_property}{#1}} % color code property. -\newcommand{\sckeyword} [1]{\textcolor{code_keyword}{#1}} % color code keyword. -\newcommand{\sccomment} [1]{\textcolor{code_comment}{#1}} % color code comment. - -\newcommand{\sjlink} [1]{\sicon{ic_link}\ \href{https://#1}{\sitallic{#1}}} % job webpage. -\newcommand{\sjplace}[2]{\sreset{\ssemibold{#1}}\sreset\hfill\fontsize% - {10}{10}\selectfont\textcolor{gray}{(#2)}} % job place. - -% settings. -\linespread{1.5} % height between non-breaking lines. -\sloppy % correct word placement on newline. -\pagestyle{empty} % suppress default styles, i.e. page numbers. -\sbldefault % default baseline size. diff --git a/tex/view/Place.tex b/tex/view/Place.tex new file mode 100644 index 0000000..33d0533 --- /dev/null +++ b/tex/view/Place.tex @@ -0,0 +1,11 @@ +% Args: Company's name, period, position, url, tasks (separated by ;). +\newcommand{\Place}[5]{% + \noindent + \JPlace{#1}{#2}\newline + \Text{#3}\newline + \setsepchar{;}% + \ignoreemptyitems% + \readlist\Tasks{#5}% + \foreachitem\Task\in\Tasks{\Text{\TextList{\Bullet}\ \Task}\newline} + \def\PLink{#4}\ifx\PLink\empty{}\else{\JLink{#4}\Par}\fi +} diff --git a/tex/view/Radio.tex b/tex/view/Radio.tex new file mode 100644 index 0000000..02dd919 --- /dev/null +++ b/tex/view/Radio.tex @@ -0,0 +1,7 @@ +\newcommand{\Radio}[1]{% + \ifnum#1>0{\Icon{IcRadioChecked}}\else{\Icon{IcRadioUnchecked}}\fi + \ifnum#1>1{\Icon{IcRadioChecked}}\else{\Icon{IcRadioUnchecked}}\fi + \ifnum#1>2{\Icon{IcRadioChecked}}\else{\Icon{IcRadioUnchecked}}\fi + \ifnum#1>3{\Icon{IcRadioChecked}}\else{\Icon{IcRadioUnchecked}}\fi + \ifnum#1>4{\Icon{IcRadioChecked}}\else{\Icon{IcRadioUnchecked}}\fi +} diff --git a/tex/view/place.tex b/tex/view/place.tex deleted file mode 100644 index 502daed..0000000 --- a/tex/view/place.tex +++ /dev/null @@ -1,11 +0,0 @@ -% args: company's name, period, position, url, tasks (separated by ;). -\newcommand{\place}[5]{% - \noindent - \sjplace{#1}{#2}\newline - \stext{#3}\newline - \setsepchar{;}% - \ignoreemptyitems% - \readlist\tasks{#5}% - \foreachitem\task\in\tasks{\stext{\slist{\sbullet}\ \task}\newline} - \def\plink{#4}\ifx\plink\empty{}\else{\sjlink{#4}\spar}\fi -} diff --git a/tex/view/radio.tex b/tex/view/radio.tex deleted file mode 100644 index 686fecf..0000000 --- a/tex/view/radio.tex +++ /dev/null @@ -1,7 +0,0 @@ -\newcommand{\radio}[1]{% - \ifnum#1>0{\sicon{ic_radio_checked}}\else{\sicon{ic_radio_unchecked}}\fi - \ifnum#1>1{\sicon{ic_radio_checked}}\else{\sicon{ic_radio_unchecked}}\fi - \ifnum#1>2{\sicon{ic_radio_checked}}\else{\sicon{ic_radio_unchecked}}\fi - \ifnum#1>3{\sicon{ic_radio_checked}}\else{\sicon{ic_radio_unchecked}}\fi - \ifnum#1>4{\sicon{ic_radio_checked}}\else{\sicon{ic_radio_unchecked}}\fi -}