From: Nikolay Shaplov Date: Sun, 21 Jun 2026 10:14:20 +0000 (+0300) Subject: Apply new LaTeX slides template to Vim for posrgres developers presentation X-Git-Url: http://gitweb.nataraj.world/?a=commitdiff_plain;h=ecc9404b5c9934271dd7911a7164f1a172825ae0;p=articles.git Apply new LaTeX slides template to Vim for posrgres developers presentation --- diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/Makefile b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/Makefile index e36dbb5..e39a9a8 100644 --- a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/Makefile +++ b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/Makefile @@ -1,5 +1,25 @@ +THEME ?= PgPro2025 + +THEMES = PgPro2025 PgPro2023 + +TOP_DIR = $(shell pwd) +THEME_DIR = $(TOP_DIR)/themes.nonfree/$(THEME) +FONTS_DIR = $(THEME_DIR)/fonts + all: - xelatex vim-for-postgres-developers.tex && make clean + "$(TOP_DIR)/bin/gen_font_config.pl" "$(FONTS_DIR)" + ln -sf "$(THEME_DIR)/theme_setup.tex" theme_setup.tex + FONTCONFIG_FILE="$(FONTS_DIR)/fonts.conf" fc-cache + + # Надо в два прохода + FONTCONFIG_FILE="$(FONTS_DIR)/fonts.conf" xelatex -shell-escape vim-for-postgres-developers.tex + FONTCONFIG_FILE="$(FONTS_DIR)/fonts.conf" xelatex -shell-escape vim-for-postgres-developers.tex + make clean clean: rm -f *.log *.aux *.out *.snm *.nav *.toc *.vrb + rm -f "$(TOP_DIR)/theme_setup.tex" + rm -rf "$(TOP_DIR)/_minted" + $(foreach theme,$(THEMES), rm -f "$(TOP_DIR)/themes.nonfree/$(theme)/fonts/fonts.conf";) + $(foreach theme,$(THEMES), rm -rf "$(TOP_DIR)/themes.nonfree/$(theme)/fonts-cache";) + diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/README.md b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/README.md deleted file mode 100644 index 394652d..0000000 --- a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# Шаблон презентаций для Beamer - -При подготовке шаблона использованы: -* [Шаблон презентации PostgresPro для Openoffice](link hidden) -* Шрифт [Gilroy](https://oc.postgrespro.ru/index.php/s/oXFIYT9dLwLCle6) -* Тема [gcr2019](https://github.com/schors/gcr2019theme) для Beamer - -Для сборки запустите команду: `xelatex example.tex` diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/bin/gen_font_config.pl b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/bin/gen_font_config.pl new file mode 100755 index 0000000..861cbe7 --- /dev/null +++ b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/bin/gen_font_config.pl @@ -0,0 +1,25 @@ +#!/usr/bin/perl + +use strict; + +my $font_path = $ARGV[0]; + +die "Please specify path to font dir as a first arg\n" unless $font_path; + +my $data = < + + + $font_path + $font_path-cache + + +ENDOFDATA + +$data =~ s/^\s+//s; # Remove all spaces at the beginning of the text, to make xml parser happy + +open F, ">", "$font_path/fonts.conf" or die "Cannot open $font_path/fonts.conf: $!"; +print F $data; +close F; + diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/elements/code.tex b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/elements/code.tex index 9c504c3..9882df9 100644 --- a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/elements/code.tex +++ b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/elements/code.tex @@ -1,45 +1,33 @@ -\usepackage{listings} - -% for listings -\definecolor{acmebg}{HTML}{FFFFEF} -\definecolor{acmeh}{HTML}{EFFFFF} -\definecolor{acmec}{HTML}{8C8ACE} -\definecolor{acmel}{HTML}{52AAAD} -\definecolor{acmel1}{HTML}{EFEF9C} -\definecolor{acmel2}{HTML}{9CEFEF} -\lstset{ - columns=flexible, - keepspaces=true, - showstringspaces=false, - showtabs=false, - tabsize=4, - frame=single, - basicstyle=\fontsize{10pt}{12}\bf\ttfamily\color{black}, - backgroundcolor=\color{acmebg}, - commentstyle=\color{black}, - keywordstyle=\color{black}, - stringstyle=\color{red}, - rulecolor=\color{acmel}, - framerule=1pt -} -% for listings background \makeatletter -\let\old@lstKV@SwitchCases\lstKV@SwitchCases -\def\lstKV@SwitchCases#1#2#3{} + +\usepackage{minted} +\usepackage{tcolorbox} +\tcbuselibrary{minted,skins,breakable} + + +\setminted{ + breaklines=true, +} + +% применяем beamer'овский шрифт при создании блока кода +\AtBeginEnvironment{minted}{\usebeamerfont{codelisting}} + + +\NewDocumentEnvironment{codeblock}{O{}m}{% + \VerbatimEnvironment + \begin{tcolorbox}[ + colback=codeBgColor, + colframe=codeBgColor, + arc=0.37cm, boxsep=0.63cm, + left=0pt, right=0pt, top=0pt, bottom=0pt, + boxrule=0pt, frame hidden, + ]% + \begin{minted}[#1]{#2}% +}{% + \end{minted}% + \end{tcolorbox}% +} + + \makeatother -\usepackage{lstlinebgrd} -\makeatletter -\let\lstKV@SwitchCases\old@lstKV@SwitchCases - -\lst@Key{numbers}{none}{% - \def\lst@PlaceNumber{\lst@linebgrd}% - \lstKV@SwitchCases{#1}% - {none:\\% - left:\def\lst@PlaceNumber{\llap{\normalfont - \lst@numberstyle{\thelstnumber}\kern\lst@numbersep}\lst@linebgrd}\\% - right:\def\lst@PlaceNumber{\rlap{\normalfont - \kern\linewidth \kern\lst@numbersep - \lst@numberstyle{\thelstnumber}}\lst@linebgrd}% - }{\PackageError{Listings}{Numbers #1 unknown}\@ehc}} -\makeatother \ No newline at end of file diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/sty/my-common-style.sty b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/sty/my-common-style.sty new file mode 100644 index 0000000..be908cc --- /dev/null +++ b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/sty/my-common-style.sty @@ -0,0 +1,45 @@ +\RequirePackage{fontawesome5} % для эмодзи +\RequirePackage[normalem]{ulem} % для более модных подчеркиваний +\RequirePackage{soul} % дает зачеркивание \st + +% Это нужно для кода ниже +\RequirePackage{etoolbox} +\RequirePackage{keyval} + +\apptocmd{\beamer@reseteecodes}{% + \global\let\ifbeamer@sectionframe\iffalse% + \global\let\ifbeamer@closingframe\iffalse% +}{}{} + + +% Опция [section] для \begin{frame} — переключает фрейм в оформление +% слайда-разделителя раздела (тёмный фон, крупный белый заголовок). +% Механика отделена от дизайна: здесь только взводится флаг и включается +% plain (убирает хедер/футер). Сам дизайн — в шаблонах frametitle (ветка +% \ifbeamer@sectionframe) и background, которые проверяют этот флаг. +% +% Флаг ставится \global, потому что опция обрабатывается в одной группе +% (при разборе аргументов \begin{frame}), а проверяется позже, при +% рендеринге frametitle, уже в другой группе — без \global значение +% не дожило бы до момента проверки. +\newif\ifbeamer@sectionframe +\define@key{beamerframe}{section}[true]{% + \global\let\ifbeamer@sectionframe\iftrue% + \setkeys{beamerframe}{plain}% +} + +% Опция [closing] для \begin{frame} — закрывающий (финальный) слайд. +% Антитеза титульному: структурный, вычурный дизайн, значимая информация +% (например «Спасибо за внимание»). Механика как у [section] — флаг + plain, +% дизайн в шаблонах frametitle и background по флагу \ifbeamer@closingframe. +\newif\ifbeamer@closingframe +\define@key{beamerframe}{closing}[true]{% + \global\let\ifbeamer@closingframe\iftrue% + \setkeys{beamerframe}{plain}% +} + +% Переопределяем дефолтный beamer'овский \section на использование нашего section слайда +\let\beamer@origsection\section +\renewcommand{\section}[1]{\begin{frame}[section]{#1}\null\end{frame}} + + diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/beamercolorthemePgPro.sty b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/beamercolorthemePgPro.sty deleted file mode 100644 index a0bb186..0000000 --- a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/beamercolorthemePgPro.sty +++ /dev/null @@ -1,21 +0,0 @@ -\mode - -% Settings -\AtBeginDocument{\setromanfont{Times New Roman}} -\AtBeginDocument{\setsansfont{Gilroy}} -\AtBeginDocument{\setmonofont{Consolas}} -\setbeamercolor*{title page header}{fg=white} -\setbeamerfont*{title}{size*={32pt}{1},family=\sffamily} -\setbeamercolor*{author}{fg=white} -\setbeamerfont*{author}{size*={18pt}{1},family=\sffamily} -\setbeamercolor*{frametitle}{fg=cyan} -\setbeamerfont*{frametitle}{size*={22pt}{1},family=\sffamily,series=\bfseries} -%\definecolor{text}{HTML}{595959} -\definecolor{text}{HTML}{000000} -\setbeamercolor{normal text}{fg=text} -\setbeamerfont{normal text}{size*={12pt}{18},family=\sffamily} -\AtBeginDocument{\usebeamerfont{normal text}} -\setbeamertemplate{itemize items}{\textbullet}% отключает кошмарные синие треугольники -\setbeamercolor{itemize/enumerate body}{fg=text} -\mode - diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/beamerinnerthemePgPro.sty b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/beamerinnerthemePgPro.sty deleted file mode 100644 index 1a36ba0..0000000 --- a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/beamerinnerthemePgPro.sty +++ /dev/null @@ -1,30 +0,0 @@ -\mode - -\setbeamertemplate{background}{ - \begin{tikzpicture} - \ifnum\thepage=1\relax% - \node[anchor=south west,inner sep=0] at (0,0) {\includegraphics[width=\the\paperwidth, height=\the\paperheight]{theme.nonfree/bgpics/pgpro_title_bg.png}}; - \fi - \ifnum\thepage>1\relax% - \node[anchor=south west, inner sep=0] at (0,0) {\includegraphics[width=\the\paperwidth, height=\the\paperheight]{theme.nonfree/bgpics/pgpro_page_bg.png}}; - \node[anchor=east] at(\textwidth+1cm,0.5cm) {\color{text}\tiny\insertframenumber}; - \fi - \end{tikzpicture} -} - -% Title page -\defbeamertemplate*{title page}{gcr2019}[1][] -{ - \vskip3cm% - \begin{beamercolorbox}[leftskip=0.7cm,left,#1]{title page header} - \usebeamerfont{title}\inserttitle\par% - \end{beamercolorbox}% - \vskip0.75cm% - \begin{beamercolorbox}[leftskip=0.7cm,left,#1]{author} - \usebeamerfont{author}\insertauthor% - \end{beamercolorbox} - \vspace{9cm} -} - -\mode - diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/beamerouterthemePgPro.sty b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/beamerouterthemePgPro.sty deleted file mode 100644 index a03dd07..0000000 --- a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/beamerouterthemePgPro.sty +++ /dev/null @@ -1,13 +0,0 @@ -\mode - -% Frame title -\defbeamertemplate*{frametitle}{gcr2019}[1][] -{ - \vskip1cm - \begin{beamercolorbox}[wd=\paperwidth,leftskip=0.7cm]{frametitle} - \usebeamerfont{frametitle}% - \insertframetitle - \end{beamercolorbox} -} - -\mode \ No newline at end of file diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/beamerthemePgPro.sty b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/beamerthemePgPro.sty deleted file mode 100644 index 3af4da9..0000000 --- a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/beamerthemePgPro.sty +++ /dev/null @@ -1,19 +0,0 @@ -% Based on gcr2019 theme (https://github.com/schors/gcr2019theme) -% Used backghround pictures from template https://confluence.postgrespro.ru/download/attachments/169509420/_PostgresPro_ШАБЛОН.odp?version=1&modificationDate=1675418955114&api=v2 -% and Gilroy font from https://oc.postgrespro.ru/index.php/s/oXFIYT9dLwLCle6 -\mode - -% Requirement -\RequirePackage{tikz} - -% Settings -\useinnertheme{PgPro} -\useoutertheme{PgPro} -\usecolortheme{PgPro} - -\setbeamertemplate{navigation symbols}{} -\setbeamertemplate{blocks}[rounded][shadow=true] -\setbeamertemplate{footline}{\vspace{1cm}} -\setbeamersize{text margin left=0.7cm,text margin right=0.7cm} - -\mode diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/bgpics/pgpro.png b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/bgpics/pgpro.png deleted file mode 100644 index 7c459a8..0000000 Binary files a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/bgpics/pgpro.png and /dev/null differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/bgpics/pgpro_page_bg.png b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/bgpics/pgpro_page_bg.png deleted file mode 100644 index af85d09..0000000 Binary files a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/bgpics/pgpro_page_bg.png and /dev/null differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/bgpics/pgpro_page_bg2.png b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/bgpics/pgpro_page_bg2.png deleted file mode 100644 index f62056c..0000000 Binary files a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/bgpics/pgpro_page_bg2.png and /dev/null differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/bgpics/pgpro_thanks_bg.png b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/bgpics/pgpro_thanks_bg.png deleted file mode 100644 index 92f3cc7..0000000 Binary files a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/bgpics/pgpro_thanks_bg.png and /dev/null differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/bgpics/pgpro_title_bg.png b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/bgpics/pgpro_title_bg.png deleted file mode 100644 index 3de8436..0000000 Binary files a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/bgpics/pgpro_title_bg.png and /dev/null differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/bgpics/pgpro_title_bg2.png b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/bgpics/pgpro_title_bg2.png deleted file mode 100644 index 969dbca..0000000 Binary files a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/theme.nonfree/bgpics/pgpro_title_bg2.png and /dev/null differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/LICENSE.md b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/LICENSE.md new file mode 100644 index 0000000..718373d --- /dev/null +++ b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/LICENSE.md @@ -0,0 +1,2 @@ +Файлы находящиеся в этой директории НЕ распростроняются под свободной лицензией +Пожалуйста не испольуйте их, если вы не имеете на это права. diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/beamercolorthemePgPro2023.sty b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/beamercolorthemePgPro2023.sty new file mode 100644 index 0000000..5f0216d --- /dev/null +++ b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/beamercolorthemePgPro2023.sty @@ -0,0 +1,47 @@ +\mode + +% Settings +\AtBeginDocument{\setromanfont{Times New Roman}} +\AtBeginDocument{\setsansfont{Montserrat}} +\AtBeginDocument{\setmonofont{Consolas}} +\setbeamercolor*{title page header}{fg=white} +\setbeamerfont*{title}{size*={48pt}{46pt},family=\sffamily,series=\bfseries} +\setbeamercolor*{author}{fg=white} +\setbeamerfont*{author}{size*={18pt}{18pt},family=\sffamily} + +\setbeamercolor*{institute}{fg=white} +\setbeamerfont*{institute}{size*={10pt}{8pt},family=\sffamily} + +\setbeamercolor*{section title}{fg=white} +\setbeamerfont*{section title}{size*={40pt}{48pt},family=\sffamily,series=\bfseries} + +\definecolor{closingTitleColor}{HTML}{1190D0} +\setbeamercolor*{closing title}{fg=closingTitleColor} +\setbeamerfont*{closing title}{size*={41pt}{44pt},family=\sffamily,series=\bfseries} + + +\definecolor{frameTitleColor}{HTML}{1190D0} +\setbeamercolor*{frametitle}{fg=frameTitleColor} +\setbeamerfont*{frametitle}{size*={22pt}{22pt},family=\sffamily,series=\bfseries} + +%\definecolor{text}{HTML}{595959} +\definecolor{text}{HTML}{000000} +\setbeamercolor{normal text}{fg=text} +\setbeamerfont{normal text}{size*={12pt}{18},family=\sffamily} +\AtBeginDocument{\usebeamerfont{normal text}} +\setbeamertemplate{itemize items}{\textbullet}% отключает кошмарные синие треугольники +\setbeamercolor{itemize/enumerate body}{fg=text} + +% Цвета для гиперссылок +\definecolor{linkcolor}{HTML}{799B03} % цвет ссылок +\definecolor{urlcolor}{HTML}{6633FF} % цвет гиперссылок +\hypersetup{pdfstartview=FitH, linkcolor=linkcolor,urlcolor=urlcolor, colorlinks=true} + + +\setbeamerfont*{codelisting}{size*={10pt}{12}\bf\ttfamily} +\definecolor{codeTextColor}{HTML}{000000} +\definecolor{codeBgColor}{HTML}{FFFFEF} + + +\mode + diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/beamerinnerthemePgPro2023.sty b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/beamerinnerthemePgPro2023.sty new file mode 100644 index 0000000..a0ec8d8 --- /dev/null +++ b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/beamerinnerthemePgPro2023.sty @@ -0,0 +1,70 @@ +\mode + +\setbeamertemplate{background}{ + \begin{tikzpicture} + \ifbeamer@sectionframe% + \node[anchor=south west, inner sep=0] at (0,0) {\includegraphics[width=\paperwidth, height=\paperheight]{pgpro_title_bg2.png}}; + \else + \ifbeamer@closingframe% + \node[anchor=south west, inner sep=0] at (0,0) {\includegraphics[width=\paperwidth, height=\paperheight]{pgpro_closing_bg.png}}; + \else + \ifnum\thepage=1\relax% + \node[anchor=south west,inner sep=0] at (0,0) {\includegraphics[width=\the\paperwidth, height=\the\paperheight]{pgpro_title_bg.png}}; + \fi + \ifnum\thepage>1\relax% + \node[anchor=south west, inner sep=0] at (0,0) {\includegraphics[width=\the\paperwidth, height=\the\paperheight]{pgpro_page_bg.png}}; + \node[anchor=east] at(\textwidth+1cm,0.5cm) {\color{text}\tiny\insertframenumber}; + \fi\fi\fi + \end{tikzpicture} +} + +% Title page +\defbeamertemplate*{title page}{gcr2019}[1][] +{ + \begin{textblock*}{0.45\paperwidth}(2.39cm, 6.42cm) + {\usebeamercolor[fg]{title page header}% + \usebeamerfont{title}% + \inserttitle\par +% + \vskip14pt% + \usebeamerfont{subtitle}% + \insertsubtitle\par% + }% + \end{textblock*}% + \begin{textblock*}{0.6\paperwidth}(2.39cm, 11cm) + {\usebeamercolor[fg]{author}% + \usebeamerfont{author}% + \insertauthor% + + \usebeamercolor[fg]{institute}% + \usebeamerfont{institute}% + \insertinstitute% + } + \end{textblock*}% +} + + +% Шаблон для section-слайда +\defbeamertemplate*{mysectionpage}{}{% + \begin{textblock*}{\paperwidth}(\dimexpr\beamer@leftmargin+1.1cm\relax, 0cm) + \begin{minipage}[c][\paperheight][c]{\dimexpr\paperwidth-2\beamer@leftmargin\relax} + {\usebeamercolor[fg]{section title}% + \usebeamerfont{section title}% + \vskip2cm + \insertframetitle\par}% + \end{minipage}% + \end{textblock*}% +} + +% Шаблон для closing-слайда +\defbeamertemplate*{myclosingpage}{}{% + \begin{textblock*}{\paperwidth}(3.75cm, 5.94cm) + {\usebeamercolor[fg]{closing title}% + \usebeamerfont{closing title}% + \insertframetitle\par}% + \end{textblock*}% +} + + +\mode + diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/beamerouterthemePgPro2023.sty b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/beamerouterthemePgPro2023.sty new file mode 100644 index 0000000..905998f --- /dev/null +++ b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/beamerouterthemePgPro2023.sty @@ -0,0 +1,20 @@ +\mode + +% Frame title +\defbeamertemplate*{frametitle}{gcr2019}[1][] +{ + \ifbeamer@sectionframe% + \usebeamertemplate{mysectionpage}% + \else\ifbeamer@closingframe% + \usebeamertemplate{myclosingpage}% + \else% + \vskip0.97cm + \begin{beamercolorbox}[wd=\paperwidth,leftskip=1.44cm]{frametitle} + \usebeamerfont{frametitle}% + \insertframetitle + \vskip0.25cm% + \end{beamercolorbox} + \fi\fi +} + +\mode diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/beamerthemePgPro2023.sty b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/beamerthemePgPro2023.sty new file mode 100644 index 0000000..530d5ce --- /dev/null +++ b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/beamerthemePgPro2023.sty @@ -0,0 +1,28 @@ +% Based on gcr2019 theme (https://github.com/schors/gcr2019theme) +% Used backghround pictures from template https://confluence.postgrespro.ru/download/attachments/169509420/_PostgresPro_ШАБЛОН.odp?version=1&modificationDate=1675418955114&api=v2 +% and Gilroy font from https://oc.postgrespro.ru/index.php/s/oXFIYT9dLwLCle6 +\mode + +% Requirement +\RequirePackage{tikz} +\RequirePackage[absolute,overlay]{textpos} + +\geometry{paperwidth=33.87cm,paperheight=19.05cm} + +% Определяем параметры темы c и t определяющие вертиальную ориентацию текста на слайде. t -- по умолчанию +\DeclareOptionBeamer{c}{\beamer@centeredtrue} +\DeclareOptionBeamer{t}{\beamer@centeredfalse} +\ExecuteOptionsBeamer{t} +\ProcessOptionsBeamer + +% Settings +\useinnertheme{PgPro2023} +\useoutertheme{PgPro2023} +\usecolortheme{PgPro2023} + +\setbeamertemplate{navigation symbols}{} +\setbeamertemplate{blocks}[rounded][shadow=true] +\setbeamertemplate{footline}{\vspace{1cm}} +\setbeamersize{text margin left=1.44cm,text margin right=1.44cm} + +\mode diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/bgpics/pgpro.png b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/bgpics/pgpro.png new file mode 100644 index 0000000..7c459a8 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/bgpics/pgpro.png differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/bgpics/pgpro_closing_bg.png b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/bgpics/pgpro_closing_bg.png new file mode 100644 index 0000000..73e68bd Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/bgpics/pgpro_closing_bg.png differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/bgpics/pgpro_page_bg.png b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/bgpics/pgpro_page_bg.png new file mode 100644 index 0000000..af85d09 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/bgpics/pgpro_page_bg.png differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/bgpics/pgpro_page_bg2.png b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/bgpics/pgpro_page_bg2.png new file mode 100644 index 0000000..f62056c Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/bgpics/pgpro_page_bg2.png differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/bgpics/pgpro_title_bg.png b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/bgpics/pgpro_title_bg.png new file mode 100644 index 0000000..3de8436 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/bgpics/pgpro_title_bg.png differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/bgpics/pgpro_title_bg2.png b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/bgpics/pgpro_title_bg2.png new file mode 100644 index 0000000..969dbca Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/bgpics/pgpro_title_bg2.png differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/CONSOLA.TTF b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/CONSOLA.TTF new file mode 100644 index 0000000..556d2fd Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/CONSOLA.TTF differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/CONSOLAB.TTF b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/CONSOLAB.TTF new file mode 100644 index 0000000..ef6d555 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/CONSOLAB.TTF differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Consolas.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Consolas.ttf new file mode 100644 index 0000000..2162134 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Consolas.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Black.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Black.ttf new file mode 100644 index 0000000..2fab7ab Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Black.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-BlackItalic.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-BlackItalic.ttf new file mode 100644 index 0000000..04d3b47 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-BlackItalic.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Bold.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Bold.ttf new file mode 100644 index 0000000..4033587 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Bold.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-BoldItalic.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-BoldItalic.ttf new file mode 100644 index 0000000..0cc5c2c Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-BoldItalic.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-ExtraBold.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-ExtraBold.ttf new file mode 100644 index 0000000..476ec30 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-ExtraBold.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-ExtraBoldItalic.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-ExtraBoldItalic.ttf new file mode 100644 index 0000000..a1ac9a9 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-ExtraBoldItalic.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-ExtraLight.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-ExtraLight.ttf new file mode 100644 index 0000000..efaeab0 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-ExtraLight.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-ExtraLightItalic.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-ExtraLightItalic.ttf new file mode 100644 index 0000000..a8d18de Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-ExtraLightItalic.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Italic.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Italic.ttf new file mode 100644 index 0000000..5f08df0 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Italic.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Light.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Light.ttf new file mode 100644 index 0000000..881f12d Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Light.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-LightItalic.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-LightItalic.ttf new file mode 100644 index 0000000..b2991d0 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-LightItalic.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Medium.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Medium.ttf new file mode 100644 index 0000000..c9a39ea Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Medium.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-MediumItalic.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-MediumItalic.ttf new file mode 100644 index 0000000..086dd6e Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-MediumItalic.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Regular.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Regular.ttf new file mode 100644 index 0000000..895e220 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Regular.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-SemiBold.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-SemiBold.ttf new file mode 100644 index 0000000..161477a Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-SemiBold.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-SemiBoldItalic.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-SemiBoldItalic.ttf new file mode 100644 index 0000000..73dc6c6 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-SemiBoldItalic.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Thin.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Thin.ttf new file mode 100644 index 0000000..c9cf195 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-Thin.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-ThinItalic.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-ThinItalic.ttf new file mode 100644 index 0000000..e6dfc05 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Montserrat-ThinItalic.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Times_New_Roman.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Times_New_Roman.ttf new file mode 100644 index 0000000..55f734a Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Times_New_Roman.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Times_New_Roman_Bold.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Times_New_Roman_Bold.ttf new file mode 100644 index 0000000..0fc9d84 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Times_New_Roman_Bold.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Times_New_Roman_Bold_Italic.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Times_New_Roman_Bold_Italic.ttf new file mode 100644 index 0000000..8a6266f Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Times_New_Roman_Bold_Italic.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Times_New_Roman_Italic.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Times_New_Roman_Italic.ttf new file mode 100644 index 0000000..a326a5c Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/Times_New_Roman_Italic.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/consolai.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/consolai.ttf new file mode 100644 index 0000000..74a5445 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/consolai.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/consolaz.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/consolaz.ttf new file mode 100644 index 0000000..3b51dd3 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/fonts/consolaz.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/theme_setup.tex b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/theme_setup.tex new file mode 100644 index 0000000..a94f9ea --- /dev/null +++ b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2023/theme_setup.tex @@ -0,0 +1,6 @@ +\makeatletter +\def\input@path{{./themes.nonfree/PgPro2023}} +\graphicspath{{./themes.nonfree/PgPro2023/bgpics}} +\makeatother +\usetheme{PgPro2023} + diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/beamercolorthemePgPro2025.sty b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/beamercolorthemePgPro2025.sty new file mode 100644 index 0000000..61081ae --- /dev/null +++ b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/beamercolorthemePgPro2025.sty @@ -0,0 +1,110 @@ +\mode + +% Settings +\AtBeginDocument{\setromanfont{Times New Roman}} +\AtBeginDocument{\setsansfont{Roboto}} +\AtBeginDocument{\setmonofont{RobotoMono-Regular}} +\setbeamercolor*{title page header}{fg=white} +\setbeamerfont*{title}{size*={40pt}{40pt},family={\fontspec{Roboto-Medium}}} +\setbeamercolor*{subtitle}{fg=subTitleColor} +\definecolor{subTitleColor}{HTML}{889BEF} +\setbeamerfont*{subtitle}{size*={20pt}{24pt},family=\sffamily} +\setbeamercolor*{author}{fg=white} +\setbeamerfont*{author}{size*={14pt}{1},family=\sffamily} + +\setbeamercolor*{institute}{fg=subTitleColor} +\setbeamerfont*{institute}{size*={10pt}{12pt},family=\sffamily} + +\setbeamercolor*{section title}{fg=white} +\setbeamerfont*{section title}{size*={40pt}{48pt},family={\fontspec{Roboto-Medium}}} + +\setbeamercolor*{closing title}{fg=white} +\setbeamerfont*{closing title}{size*={40pt}{48pt},family={\fontspec{Roboto-Medium}}} + +\definecolor{frameTitleColor}{HTML}{142D99} +\setbeamercolor*{frametitle}{fg=frameTitleColor} +\setbeamerfont*{frametitle}{size*={28pt}{28pt},family={\fontspec{Roboto-Medium}}} + + +\definecolor{text}{HTML}{142D99} +\setbeamercolor{normal text}{fg=text} +\setbeamerfont{normal text}{size*={14pt}{16},family=\sffamily} +\AtBeginDocument{\usebeamerfont{normal text}} +\AtBeginDocument{\setlength{\parskip}{0.8\dimexpr\f@size pt\relax}} % Задаем расстояние между абзацами + +\setbeamertemplate{itemize items}{\textbullet}% отключает кошмарные синие треугольники +\setbeamercolor{itemize/enumerate body}{fg=text} + +% Цвета для гиперссылок +\definecolor{linkcolor}{HTML}{2F80EB} % цвет ссылок +\definecolor{urlcolor}{HTML}{2F80EB} % цвет гиперссылок +\hypersetup{pdfstartview=FitH, linkcolor=linkcolor,urlcolor=urlcolor, colorlinks=true} + +% Переопределяем поведение линии подчеркивания в uline + +% Roboto-Regular/Medium: post.underlineThickness=100, unitsPerEm=2048 +% коэф = 100/2048 ≈ 488/10000 +\renewcommand{\ULthickness}{\dimexpr \f@size pt * 488 / 10000 \relax}% +% Отступ подчеркивания от базовой линии ломает \sout почему-то пока закрмментируем. +%\renewcommand{\ULdepth}{\dimexpr \f@size pt * 10 / 100 \relax}% отступ от базовой линии + +% Переопределяем href чтобы он использовал \uline для подчеркивания ссылок +\let\oldhref\href +\renewcommand{\href}[2]{{\color{urlcolor}\uline{\oldhref{#1}{#2}}}} + + +\setbeamerfont*{codelisting}{size*={14pt}{16pt},family=\ttfamily} +\definecolor{codeTextColor}{HTML}{142D99} +\definecolor{codeBgColor}{HTML}{EFEFF2} + + +\AtBeginDocument{% + \@ifpackageloaded{minted}{% + \setminted{ + bgcolor=codeBgColor + }% + }{}% +} + + +% Макросы воспроизводят поведение LibreOffice Impress при размещении текста +% в текстовом блоке: LibreOffice использует usWinAscent как First Baseline +% Offset — расстояние от верхней границы блока до базовой линии первой строки. +% Пространство над заглавной буквой (gap) при этом равно: +% gap = round(usWinAscent × fontSize / unitsPerEm) +% - round(sCapHeight × fontSize / unitsPerEm) +% где round реализован как целочисленное (a + unitsPerEm/2) / unitsPerEm. +% +% Макрос вычисляет gap для текущего активного шрифта (\f@size), +% поэтому должен вызываться после \usebeamerfont{...}. +% +% Параметры шрифтов получены командой: ttx -t OS/2 -t head +% Для нового шрифта взять usWinAscent, sCapHeight, unitsPerEm из вывода +% ttx и добавить аналогичный макрос. +% +% USE_TYPO_METRICS (fsSelection bit 7) у всех трёх не установлен — +% LibreOffice использует Win-метрики. Проверить: в выводе ttx -t OS/2 +% убедиться что бит 7 fsSelection = 0. +% +% Roboto-Regular.ttf: usWinAscent=1946, sCapHeight=1456, unitsPerEm=2048 +% Roboto-Medium.ttf: usWinAscent=1946, sCapHeight=1456, unitsPerEm=2048 +% RobotoMono-Regular.ttf: usWinAscent=2146, sCapHeight=1456, unitsPerEm=2048 + +\newcommand{\RobotoRegularBaselineGap}{\dimexpr + \numexpr (1946 * \f@size + 1024) / 2048 \relax pt - + \numexpr (1456 * \f@size + 1024) / 2048 \relax pt +\relax} + +\newcommand{\RobotoMediumBaselineGap}{\dimexpr + \numexpr (1946 * \f@size + 1024) / 2048 \relax pt - + \numexpr (1456 * \f@size + 1024) / 2048 \relax pt +\relax} + +\newcommand{\RobotoMonoRegularBaselineGap}{\dimexpr + \numexpr (2146 * \f@size + 1024) / 2048 \relax pt - + \numexpr (1456 * \f@size + 1024) / 2048 \relax pt +\relax} + + +\mode + diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/beamerinnerthemePgPro2025.sty b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/beamerinnerthemePgPro2025.sty new file mode 100644 index 0000000..1c73f15 --- /dev/null +++ b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/beamerinnerthemePgPro2025.sty @@ -0,0 +1,95 @@ +\mode + + +\setbeamertemplate{background}{ + \begin{tikzpicture} + \ifbeamer@sectionframe% + \node[anchor=south west, inner sep=0] at (0,0) {\includegraphics[width=\paperwidth, height=\paperheight]{section_bg.pdf}}; + \else + \ifbeamer@closingframe% + \node[anchor=south west, inner sep=0] at (0,0) {\includegraphics[width=\paperwidth, height=\paperheight]{title_bg.pdf}}; + \else + \ifnum\thepage=1\relax% + \node[anchor=south west, inner sep=0] at (0,0) {\includegraphics[width=\paperwidth, height=\paperheight]{title_bg.pdf}}; + \else% + \node[anchor=south west, inner sep=0] at (0,0) {\includegraphics[width=\paperwidth, height=\paperheight]{page_bg.pdf}}; + \node[anchor=east] at(\textwidth+1cm,0.5cm) {\color{text}\tiny\insertframenumber}; + \fi\fi\fi% + \end{tikzpicture} +} + +% Title page +\newlength{\theme@titleheight} +\defbeamertemplate*{title page}{}[1][] +{% + % рендерим заголовок отдельно, и в зависимости от его размера (theme@titleheight) + % по разному вставляем его в макет + \setbox0=\vbox{% + \usebeamerfont{title}% + \inserttitle\par% + } + \settototalheight{\theme@titleheight}{\usebox0} + + \begin{textblock*}{\paperwidth}(\beamer@leftmargin, 2.31cm) + \begin{beamercolorbox}[left,#1]{title page header} + \usebeamerfont{title}% + % + \ifdim\theme@titleheight<3.51cm + \begin{minipage}[t][3.51cm][c]{\textwidth} + \usebox0% + \end{minipage} + \else + \usebox0% + \fi + \end{beamercolorbox}% +% + \begin{beamercolorbox}[left,#1]{subtitle} + \usebeamerfont{subtitle}% + + \ifdim\theme@titleheight<3.51cm + \vskip \dimexpr \RobotoRegularBaselineGap - 9pt \relax% + \else + \vskip \dimexpr \RobotoRegularBaselineGap + 0pt \relax% + \fi +% + \insertsubtitle\par% + \end{beamercolorbox}% + \end{textblock*} +% + \begin{textblock*}{\paperwidth}(\beamer@leftmargin, 16.1cm) + \begin{beamercolorbox}[left,#1]{author} + \usebeamerfont{author}% + \vskip \dimexpr \RobotoRegularBaselineGap - 1pt \relax% + \insertauthor% + \end{beamercolorbox} + \begin{beamercolorbox}[left,#1]{institute} + \usebeamerfont{institute}% + \vskip \dimexpr \RobotoRegularBaselineGap + 1pt \relax% + \insertinstitute% + \end{beamercolorbox} + \end{textblock*} +} + + +% Шаблон для section-слайда +\defbeamertemplate*{mysectionpage}{}{% + \begin{textblock*}{\paperwidth}(\beamer@leftmargin, 12.5cm) + {\usebeamercolor[fg]{section title}% + \usebeamerfont{section title}% + \vskip \dimexpr \RobotoMediumBaselineGap - 9.5pt \relax% + \insertframetitle\par}% + \end{textblock*}% +} + +% Шаблон для closing-слайда +\defbeamertemplate*{myclosingpage}{}{% + \begin{textblock*}{\paperwidth}(\beamer@leftmargin, 12.5cm) + {\usebeamercolor[fg]{closing title}% + \usebeamerfont{closing title}% + \vskip \dimexpr \RobotoMediumBaselineGap - 9.5pt \relax% + \insertframetitle\par}% + \end{textblock*}% +} + +\mode + diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/beamerouterthemePgPro2025.sty b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/beamerouterthemePgPro2025.sty new file mode 100644 index 0000000..97dba0e --- /dev/null +++ b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/beamerouterthemePgPro2025.sty @@ -0,0 +1,21 @@ +\mode + +% Frame title +\defbeamertemplate*{frametitle}{gcr2019}[1][] +{ + \ifbeamer@sectionframe% + \usebeamertemplate{mysectionpage}% + \else\ifbeamer@closingframe% + \usebeamertemplate{myclosingpage}% + \else% + \nointerlineskip% + \begin{beamercolorbox}[wd=\paperwidth, leftskip=\beamer@leftmargin]{frametitle} + \usebeamerfont{frametitle}% + \vskip7.3mm% Визуально выравниваем однострочный заголовок по линии логотипа справа + \insertframetitle\par% + \vskip3mm% + \end{beamercolorbox}% + \fi\fi% +} + +\mode diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/beamerthemePgPro2025.sty b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/beamerthemePgPro2025.sty new file mode 100644 index 0000000..0feb7a1 --- /dev/null +++ b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/beamerthemePgPro2025.sty @@ -0,0 +1,30 @@ +% Based on gcr2019 theme (https://github.com/schors/gcr2019theme) +% Used backghround pictures from template https://confluence.postgrespro.ru/download/attachments/169509420/_PostgresPro_ШАБЛОН.odp?version=1&modificationDate=1675418955114&api=v2 +% and Gilroy font from https://oc.postgrespro.ru/index.php/s/oXFIYT9dLwLCle6 +\mode + +% Requirement +\RequirePackage{tikz} +\RequirePackage[absolute,overlay]{textpos} +\RequirePackage{calc} + +% Переопределяем размер слайда под фактический размер pdf-ного фона +\geometry{paperwidth=960bp,paperheight=540bp} + +% Определяем параметры темы c и t определяющие вертиальную ориентацию текста на слайде. t -- по умолчанию +\DeclareOptionBeamer{c}{\beamer@centeredtrue} +\DeclareOptionBeamer{t}{\beamer@centeredfalse} +\ExecuteOptionsBeamer{t} +\ProcessOptionsBeamer + +% Settings +\useinnertheme{PgPro2025} +\useoutertheme{PgPro2025} +\usecolortheme{PgPro2025} + +\setbeamertemplate{navigation symbols}{} +\setbeamertemplate{blocks}[rounded][shadow=true] +\setbeamertemplate{footline}{\vspace{1cm}} +\setbeamersize{text margin left=1.33cm,text margin right=1.33cm} + +\mode diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/bgpics/page_bg.pdf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/bgpics/page_bg.pdf new file mode 100644 index 0000000..3752558 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/bgpics/page_bg.pdf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/bgpics/section_bg.pdf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/bgpics/section_bg.pdf new file mode 100644 index 0000000..94f1c5d Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/bgpics/section_bg.pdf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/bgpics/title_bg.pdf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/bgpics/title_bg.pdf new file mode 100644 index 0000000..f87f835 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/bgpics/title_bg.pdf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/Roboto-Medium.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/Roboto-Medium.ttf new file mode 100644 index 0000000..d629e98 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/Roboto-Medium.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/Roboto-Regular.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/Roboto-Regular.ttf new file mode 100644 index 0000000..7e3bb2f Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/Roboto-Regular.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/RobotoMono-Regular.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/RobotoMono-Regular.ttf new file mode 100644 index 0000000..3806bfb Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/RobotoMono-Regular.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/Times_New_Roman.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/Times_New_Roman.ttf new file mode 100644 index 0000000..55f734a Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/Times_New_Roman.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/Times_New_Roman_Bold.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/Times_New_Roman_Bold.ttf new file mode 100644 index 0000000..0fc9d84 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/Times_New_Roman_Bold.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/Times_New_Roman_Bold_Italic.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/Times_New_Roman_Bold_Italic.ttf new file mode 100644 index 0000000..8a6266f Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/Times_New_Roman_Bold_Italic.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/Times_New_Roman_Italic.ttf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/Times_New_Roman_Italic.ttf new file mode 100644 index 0000000..a326a5c Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/fonts/Times_New_Roman_Italic.ttf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/theme_setup.tex b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/theme_setup.tex new file mode 100644 index 0000000..8ddabad --- /dev/null +++ b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/themes.nonfree/PgPro2025/theme_setup.tex @@ -0,0 +1,6 @@ +\makeatletter +\def\input@path{{./themes.nonfree/PgPro2025}} +\graphicspath{{./themes.nonfree/PgPro2025/bgpics}} +\makeatother +\usetheme{PgPro2025} + diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/vim-for-postgres-developers.pdf b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/vim-for-postgres-developers.pdf index f2f3134..fc5742e 100644 Binary files a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/vim-for-postgres-developers.pdf and b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/vim-for-postgres-developers.pdf differ diff --git a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/vim-for-postgres-developers.tex b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/vim-for-postgres-developers.tex index 9b29573..e3f05cd 100644 --- a/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/vim-for-postgres-developers.tex +++ b/slides/2025 - Becoming PosgtreSQL Core Developer/1.5. Vim for PostgreSQL Developers/english-LaTeX/vim-for-postgres-developers.tex @@ -1,32 +1,28 @@ -\documentclass[aspectratio=169]{beamer} +\documentclass{beamer} \usepackage{xltxtra} \defaultfontfeatures{Ligatures=TeX,Mapping=tex-text} \usepackage[russian]{babel} \usepackage[utf8]{inputenc} -\usepackage[normalem]{ulem} % для \sout -%\usepackage{tikz} % FIXME не уверен что все это тут надо -%\usetikzlibrary{chains} +\usepackage{sty/my-common-style} % общие для всех презентаций пакеты и определения - % Цвета для гиперссылок - \definecolor{linkcolor}{HTML}{799B03} % цвет ссылок - \definecolor{urlcolor}{HTML}{6633FF} % цвет гиперссылок - - \hypersetup{pdfstartview=FitH, linkcolor=linkcolor,urlcolor=urlcolor, colorlinks=true} +\input{theme_setup.tex} % Подгружаем тему из файла -\title{Git and vim for PostgreSQL developers} -\author{Nikolay Shaplov} +\input{elements/code.tex} -\makeatletter -% Добавляем подпапку к пути поиска .sty/.tex -\def\input@path{{./theme.nonfree}} -\makeatother +% Когда захотим добавлять картинки из директории, то ее надо добавить к graphicspath +% вот таким вот образом. (Спроси Клода почему) +%\makeatletter +%\expandafter\graphicspath\expandafter{\Ginput@path{img/}} +%\makeatother -\usetheme{PgPro} -\input{elements/code.tex} +\title{Git and vim for PostgreSQL developers} +\subtitle{Getting started} + +\author{Nikolay Shaplov} \begin{document} @@ -52,56 +48,34 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -{\setbeamertemplate{background}{ - \begin{tikzpicture} - \node[anchor=south west, inner sep=0] at (0,0) {\includegraphics[width=\the\paperwidth, height=\the\paperheight]{theme.nonfree/bgpics/pgpro_title_bg2.png}}; - \node[anchor=east] at(\textwidth+1cm,0.5cm) {\color{white}\tiny\insertframenumber}; - \end{tikzpicture} - } - \setbeamercolor{normal text}{fg=white}\usebeamercolor*{normal text} - \setbeamerfont{normal text}{size*={32pt}{1},family=\sffamily}\usebeamerfont*{normal text} - \begin{frame} - \vskip1cm - Git - \end{frame} -} +\section{Git} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{frame}[fragile, shrink=10]{Git, fetching the source code} +\begin{frame}[fragile]{Git, fetching the source code} In order to get latest snapshot of PostgreSQL code you should run command: - \begin{lstlisting}[linewidth=0.9\textwidth, literate={\$}{{\textdollar}}1] -$ git clone https://git.postgresql.org/git/postgresql.git \end{lstlisting} + \begin{codeblock}[autogobble]{bash} + $ git clone https://git.postgresql.org/git/postgresql.git + \end{codeblock} If that command does not work for you, may be you just need to install `git` package - \begin{lstlisting}[linewidth=0.9\textwidth, literate={\$}{{\textdollar}}1] -$ sudo apt-get install git\end{lstlisting} + \begin{codeblock}[autogobble]{bash} + $ sudo apt-get install git + \end{codeblock} \end{frame} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -{\setbeamertemplate{background}{ - \begin{tikzpicture} - \node[anchor=south west, inner sep=0] at (0,0) {\includegraphics[width=\the\paperwidth, height=\the\paperheight]{theme.nonfree/bgpics/pgpro_title_bg2.png}}; - \node[anchor=east] at(\textwidth+1cm,0.5cm) {\color{white}\tiny\insertframenumber}; - \end{tikzpicture} - } - \setbeamercolor{normal text}{fg=white}\usebeamercolor*{normal text} - \setbeamerfont{normal text}{size*={32pt}{1},family=\sffamily}\usebeamerfont*{normal text} - \begin{frame} - \vskip1cm - Vim - \end{frame} -} +\section{Vim} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{frame}[fragile, shrink=10]{Why vim?} +\begin{frame}[fragile]{Why vim?} \begin{itemize} \item Masterclass is when expert shows how he works. And I work with vim \item We will need complex navigation methods to browse the code, that is not provided by simple editors @@ -114,24 +88,11 @@ $ sudo apt-get install git\end{lstlisting} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -{\setbeamertemplate{background}{ - \begin{tikzpicture} - \node[anchor=south west, inner sep=0] at (0,0) {\includegraphics[width=\the\paperwidth, height=\the\paperheight]{theme.nonfree/bgpics/pgpro_title_bg2.png}}; - \node[anchor=east] at(\textwidth+1cm,0.5cm) {\color{white}\tiny\insertframenumber}; - \end{tikzpicture} - } - \setbeamercolor{normal text}{fg=white}\usebeamercolor*{normal text} - \setbeamerfont{normal text}{size*={32pt}{1},family=\sffamily}\usebeamerfont*{normal text} - \begin{frame} - \vskip1cm - Vim myths - \end{frame} -} +\section{Vim myths} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{frame}[fragile, shrink=10]{Vim myths} +\begin{frame}{Vim myths} \begin{itemize} \item There are two main modes in vim: \begin{itemize} @@ -154,7 +115,7 @@ $ sudo apt-get install git\end{lstlisting} \end{frame} -\begin{frame}[fragile, shrink=10]{Vim myths} +\begin{frame}{Vim myths} \begin{itemize} \item \sout{There are two main modes in vim:} \begin{itemize} @@ -177,7 +138,7 @@ $ sudo apt-get install git\end{lstlisting} \end{frame} -\begin{frame}[fragile, shrink=10]{Vim myths} +\begin{frame}{Vim myths} \begin{itemize} \item \sout{There are two main modes in vim:} \begin{itemize} @@ -200,7 +161,7 @@ $ sudo apt-get install git\end{lstlisting} -\begin{frame}[fragile, shrink=10]{Vim myths} +\begin{frame}{Vim myths} \begin{itemize} \item \sout{There are two main modes in vim:} \begin{itemize} @@ -222,7 +183,7 @@ $ sudo apt-get install git\end{lstlisting} \end{frame} -\begin{frame}[fragile, shrink=10]{Vim myths} +\begin{frame}{Vim myths} \begin{itemize} \item \sout{There are two main modes in vim:} \begin{itemize} @@ -243,7 +204,7 @@ $ sudo apt-get install git\end{lstlisting} % \emph{~~~ No. MIDI Foot Pedal is for Emacs users only} \end{frame} -\begin{frame}[fragile, shrink=10]{Vim myths} +\begin{frame}{Vim myths} \begin{itemize} \item \sout{There are two main modes in vim:} \begin{itemize} @@ -264,7 +225,7 @@ $ sudo apt-get install git\end{lstlisting} % \emph{~~~ No. MIDI Foot Pedal is for Emacs users only} \end{frame} -\begin{frame}[fragile, shrink=10]{Vim myths} +\begin{frame}{Vim myths} \begin{itemize} \item \sout{There are two main modes in vim:} \begin{itemize} @@ -301,6 +262,7 @@ $ sudo apt-get install git\end{lstlisting} } \end{frame} +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \usetikzlibrary{arrows.meta} @@ -321,6 +283,8 @@ $ sudo apt-get install git\end{lstlisting} } \end{frame} +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \begin{frame}{Vim modes} \resizebox{0.8\textwidth}{!}{ \begin{tikzpicture}[start chain=going below, node distance=12mm and 32mm, >={Stealth[scale=1.5]} ] % начало цепочки @@ -341,7 +305,7 @@ $ sudo apt-get install git\end{lstlisting} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{frame}[fragile, shrink=10]{Commands of the command-line mode} +\begin{frame}[fragile]{Commands of the command-line mode} \begin{itemize} \item \textbf{:q} --- quit vim \item \textbf{:q!} --- quit without saving @@ -357,7 +321,7 @@ $ sudo apt-get install git\end{lstlisting} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{frame}[fragile, shrink=10]{Normal mode commands} +\begin{frame}[fragile]{Normal mode commands} \begin{itemize} \item \textbf{dd} --- delete line; \item \textbf{u} --- undo; @@ -376,7 +340,7 @@ Copy and past commands % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{frame}[fragile, shrink=10]{Search mode commands} +\begin{frame}[fragile]{Search mode commands} \begin{itemize} \item \textbf{/abc} --- search text for substring `abc`; \item \textbf{/} --- search again. @@ -390,25 +354,12 @@ You can also use regular expressions here. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -{\setbeamertemplate{background}{ - \begin{tikzpicture} - \node[anchor=south west, inner sep=0] at (0,0) {\includegraphics[width=\the\paperwidth, height=\the\paperheight]{theme.nonfree/bgpics/pgpro_title_bg2.png}}; - \node[anchor=east] at(\textwidth+1cm,0.5cm) {\color{white}\tiny\insertframenumber}; - \end{tikzpicture} - } - \setbeamercolor{normal text}{fg=white}\usebeamercolor*{normal text} - \setbeamerfont{normal text}{size*={32pt}{1},family=\sffamily}\usebeamerfont*{normal text} - \begin{frame} - \vskip1cm - Navigating through code using tags in vim - \end{frame} -} +\section{Navigating through code using tags in vim} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{frame}[fragile, shrink=10]{Tags lists} +\begin{frame}[fragile]{Tags lists} Tags are an ancient way for navigating the code, for jumping from symbol's usage to it's definition. @@ -421,18 +372,20 @@ For C code of PostgreSQL tags are generated with `ctags` program from `exuberant % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{frame}[fragile, shrink=10]{Building tags list} +\begin{frame}[fragile]{Building tags list} To build tags list you should install `exuberant-ctags` package: - \begin{lstlisting}[linewidth=0.9\textwidth, literate={\$}{{\textdollar}}1] -$ sudo apt-get install exuberant-ctags \end{lstlisting} + \begin{codeblock}[autogobble]{bash} + $ sudo apt-get install exuberant-ctags + \end{codeblock} And then run \texttt{make\_ctags} script provided by PostgreSQL developers from the root of PostgreSQL source tree - \begin{lstlisting}[linewidth=0.9\textwidth, literate={\$}{{\textdollar}}1] -$ src/tools/make_ctags \end{lstlisting} + \begin{codeblock}[autogobble]{bash} + $ src/tools/make_ctags + \end{codeblock} You will get a bunch of \texttt{tags} files in each directory of source tree. You can copy it to your extension dir, so you can jump to postgres code function definitions while editing your code. @@ -441,12 +394,13 @@ You can copy it to your extension dir, so you can jump to postgres code function % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{frame}[fragile, shrink=10]{Using tags in vim} +\begin{frame}[fragile]{Using tags in vim} Let's open some file from PostgreSQL source code - \begin{lstlisting}[linewidth=0.9\textwidth, literate={\$}{{\textdollar}}1] -$ vim src/backend/postmaster/postmaster.c \end{lstlisting} + \begin{codeblock}[autogobble]{bash} + $ vim src/backend/postmaster/postmaster.c + \end{codeblock} and find some symbol that most probably defined inside PosgreSQL code. I found \texttt{BACKEND\_NUM\_TYPES} on 145th line. @@ -459,21 +413,24 @@ In order to go back, press \textbf{Ctrl + t} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{frame}[fragile, shrink=10]{Hiding \texttt{tags} from git} +\begin{frame}[fragile]{Hiding \texttt{tags} from git} \texttt{tags} files are not ignored by by git version control system. You can see that by running command -\begin{lstlisting}[linewidth=0.9\textwidth, literate={\$}{{\textdollar}}1] -$ git status \end{lstlisting} + \begin{codeblock}[autogobble]{bash} + $ git status + \end{codeblock} + Theoretically you cat add \texttt{tags} into \texttt{.girignore} file, but you will have to track this change manually, make sure it is not committed, and so on. Less known solution is to add \texttt{tags} into local .\texttt{git/info/exclude} file, that will do same trick. Run again -\begin{lstlisting}[linewidth=0.9\textwidth, literate={\$}{{\textdollar}}1] -$ git status \end{lstlisting} + \begin{codeblock}[autogobble]{bash} + $ git status + \end{codeblock} and you will see that \texttt{tags} files are now ignored. @@ -481,12 +438,13 @@ and you will see that \texttt{tags} files are now ignored. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{frame}[fragile, shrink=10]{Open file on certain position} +\begin{frame}[fragile]{Open file on certain position} If you, for some reason need to open file on certain position, for example you get an error message from a compiler, that specify certain line number, you can specify this line number as an extra option with "plus" prefix in front of it: -\begin{lstlisting}[linewidth=0.9\textwidth, literate={\$}{{\textdollar}}1] -$ vim src/backend/access/common/reloptions.c +1234 \end{lstlisting} + \begin{codeblock}[autogobble]{bash} + $ vim src/backend/access/common/reloptions.c +1234 + \end{codeblock} This command will open \texttt{reloptions.c} file in vim, and move cursor to line number 1234. @@ -495,33 +453,26 @@ This command will open \texttt{reloptions.c} file in vim, and move cursor to lin % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{frame}[fragile, shrink=10]{\texttt{grep}ing for function definition} +\begin{frame}[fragile]{\texttt{grep}ing for function definition} If you know function name (from compiler error message) and would like to find it's definition, most probably you will try to use \texttt{grep} utility. But you will not success, as multiple \texttt{tags} files will also contain this function name. You should use `git grep` command instead, as it will ignore files that are not part of git repository -\begin{lstlisting}[linewidth=0.9\textwidth, literate={\$}{{\textdollar}}1] -$ git grep ^tsvectorin \end{lstlisting} + \begin{codeblock}[autogobble]{bash} + $ git grep ^tsvectorin + \end{codeblock} This command uses the convention that, in a C program, the function name is specified starting from the first character of the line. This allow to find only function definition, and ignore all other occurrences. -\begin{lstlisting}[linewidth=0.9\textwidth, literate={\$}{{\textdollar}}1] -int -my_function(char * str, bool is_cool) \end{lstlisting} - + \begin{codeblock}[autogobble]{C} + int + my_function(char * str, bool is_cool) + \end{codeblock} \end{frame} +\begin{frame}[closing]{Thank you!}\null\end{frame} -{\setbeamertemplate{background}{ - \begin{tikzpicture} - \node[anchor=south west, inner sep=0] at (0,0) {\includegraphics[width=\the\paperwidth, height=\the\paperheight]{theme.nonfree/bgpics/pgpro_thanks_bg.png}}; - \node[anchor=east] at(\textwidth+1cm,0.5cm) {\color{white}\tiny\insertframenumber}; - \end{tikzpicture} - } - \begin{frame} - \end{frame} -} \end{document}