new: [initial] version and first slide deck

pull/1/head
iglocska 2020-06-25 09:48:59 +02:00
parent e7e53d0b3f
commit 292cdb7db5
No known key found for this signature in database
GPG Key ID: BEA224F1FEF113AC
36 changed files with 2230 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
output

17
build.sh Executable file
View File

@ -0,0 +1,17 @@
#!/bin/bash
#
slidedecks=("c.1-cerebrate-internal")
mkdir output
export TEXINPUTS=::`pwd`/themes/
echo ${TEXINPUTS}
for slide in ${slidedecks[@]}; do
cd ${slide}
pdflatex slide.tex
rm *.aux *.toc *.snm *.log *.out *.nav *.vrb
cp slide.pdf ../output/${slide}.pdf
rm slide.pdf
cd ..
done

View File

@ -0,0 +1,105 @@
% DO NOT COMPILE THIS FILE DIRECTLY!
% This is included by the other .tex files.
\begin{frame}[t,plain]
\titlepage
\end{frame}
\begin{frame}
\frametitle{Plan for this session}
\begin{itemize}
\item Quickly go over what is there in Cerebrate currently
\item Implementation details
\item The future
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Current scope}
\begin{itemize}
\item Basic UI and API systems (we'll talk about this later)
\item First iteration of ContactDB
\item Early version of the Trust Circles
\item Basic User management and ACL
\item Basic public lookup interface
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{ContactDB}
\begin{itemize}
\item Repository of organisations and individuals
\item Their relationships to one another (an individual can be affiliated with a set of organisations)
\item Encryption keys associated with either
\item Basic public lookup interface
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Trust Circles}
\begin{itemize}
\item Repository of sharing groups
\item Sharing groups have metadata about their purpose and a list of member organisations
\item Slightly simplified compared to MISP, this might change though
\item Cerebrate sharing groups are not editable by anyone besides the source (up for discussion)
\item They always have a primary owner
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{User management}
\begin{itemize}
\item Users are tied to an individual - but not all individuals are users
\item Authentication happens via username+password or an API key
\item We can extend this in the future with other auth providers (for example LDAP) and optionally take this responsibility out of Cerebrate
\item Users are tied to roles that can be custom defined
\item Currently their affiliation to an organisation happens through the individual - though I will probably change this
\item Users can have a set of API keys with different expirations / use-cases (based on MISP discussions this week we will enhance this further)
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Public lookup interface}
\begin{itemize}
\item Still more of a proof of concept
\item The idea is that administrators can decide to open up a fully public interface for lookup services
\item Currently the Individual and Organisation registries are optional parts of this system
\item The plan is to be able to mark a list of orgs/individuals for the public lookups
\item Separate url routing makes additional allow/deny lists on the URL easy to implement
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Internals}
\begin{itemize}
\item Largest part of the work was transitioning MISP APIs to a more modern stack
\item UIs are generated by a diverse list of custom factories
\item Everything is parametrised and standardised internally
\item MISP's API libraries have been converted and modernised
\item Same with the ACL libraries
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Deployment}
\begin{itemize}
\item Installation instructions are already available on github
\item Very simple, low number of requirements
\item Should run on a potato
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Main Next steps}
\begin{itemize}
\item Many things to do within the existing scopes
\item Cerebrate to Cerebrate communication connections
\item Automatic exchange of information
\item Trust relationships
\item Integration layer to instruct local tools
\end{itemize}
\end{frame}

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

View File

@ -0,0 +1,23 @@
\documentclass{beamer}
\usetheme[numbering=progressbar]{focus}
\definecolor{main}{RGB}{83, 31, 117}
\definecolor{textcolor}{RGB}{0, 0, 0}
\definecolor{background}{RGB}{215, 212, 227}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{listings}
\usetikzlibrary{positioning}
\usetikzlibrary{shapes,arrows}
\author{\small{\input{../includes/authors.txt}}}
\title{Cerebrate}
\subtitle{A quick intro into the current dev version of Cerebrate}
\institute{}
\titlegraphic{\includegraphics[scale=0.2]{logo.png}}
\date{\input{../includes/location.txt}}
\begin{document}
\include{content}
\end{document}

1
includes/authors.txt Normal file
View File

@ -0,0 +1 @@
Andras Iklody

1
includes/location.txt Normal file
View File

@ -0,0 +1 @@
Internal

194
logo.svg Normal file
View File

@ -0,0 +1,194 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg8"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="logo.svg">
<defs
id="defs2">
<filter
inkscape:label="Light Contour"
inkscape:menu="Image Paint and Draw"
inkscape:menu-tooltip="Uses vertical specular light to draw lines"
style="color-interpolation-filters:sRGB;"
id="filter1052">
<feGaussianBlur
in="SourceGraphic"
stdDeviation="1.5"
result="result3"
id="feGaussianBlur1026" />
<feComponentTransfer
result="result1"
in="result3"
id="feComponentTransfer1034">
<feFuncR
type="discrete"
tableValues="0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1"
id="feFuncR1028" />
<feFuncG
type="discrete"
tableValues="0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1"
id="feFuncG1030" />
<feFuncB
type="discrete"
tableValues="0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1"
id="feFuncB1032" />
</feComponentTransfer>
<feGaussianBlur
result="result5"
stdDeviation="0.01"
id="feGaussianBlur1036" />
<feBlend
in2="result5"
result="result6"
mode="lighten"
in="result5"
id="feBlend1038" />
<feColorMatrix
in="result6"
type="luminanceToAlpha"
result="result2"
id="feColorMatrix1040" />
<feSpecularLighting
surfaceScale="5"
result="result9"
specularExponent="20"
in="result2"
specularConstant="1"
id="feSpecularLighting1044">
<feDistantLight
azimuth="180"
elevation="90"
id="feDistantLight1042" />
</feSpecularLighting>
<feComposite
in2="result6"
operator="arithmetic"
in="result9"
k1="0.4"
k3="0.7"
result="result3"
id="feComposite1046" />
<feBlend
in2="result1"
in="result3"
mode="normal"
result="result8"
id="feBlend1048" />
<feComposite
in2="SourceGraphic"
in="result8"
operator="in"
result="result7"
id="feComposite1050" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.94316065"
inkscape:cx="-177.70441"
inkscape:cy="599.30769"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1025"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<g
id="g1246"
transform="translate(18.514873,19.917515)"
inkscape:export-xdpi="100"
inkscape:export-ydpi="100">
<rect
transform="rotate(9.7671315)"
ry="0"
rx="0"
y="108.22385"
x="-171.65059"
height="123.43249"
width="143.91104"
id="rect882-6-3"
style="opacity:1;fill:#924DA6;fill-opacity:1;stroke:none;stroke-width:5.33961058;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
transform="rotate(-2.3147481)"
ry="0"
rx="0"
y="71.777283"
x="-212.53632"
height="123.43249"
width="143.91107"
id="rect882"
style="opacity:1;fill:#531F75;fill-opacity:1;stroke:none;stroke-width:5.33961058;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
transform="rotate(-14.177568)"
ry="0"
rx="0"
y="25.497513"
x="-238.369"
height="123.43249"
width="143.91106"
id="rect882-6"
style="opacity:1;fill:#68599C;fill-opacity:1;stroke:none;stroke-width:5.33961058;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<text
id="text1206"
y="105.72055"
x="-208.51619"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:27.83764458px;line-height:1.25;font-family:TheMix;-inkscape-font-specification:'TheMix, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;opacity:0.93000004;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.69594115"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:27.83764458px;font-family:TheMix;-inkscape-font-specification:'TheMix, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke-width:0.69594115"
y="105.72055"
x="-208.51619"
id="tspan1204"
sodipodi:role="line">CEREBRATE </tspan><tspan
id="tspan1208"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:27.83764458px;font-family:TheMix;-inkscape-font-specification:'TheMix, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke-width:0.69594115"
y="140.51761"
x="-208.51619"
sodipodi:role="line">Project</tspan></text>
</g>
<path
style="opacity:0.51999996;fill:#ffffff;stroke-width:0.74535334;filter:url(#filter1052)"
d="m -109.09829,234.00549 c -5.78745,-1.12099 -9.6592,-2.96184 -12.4983,-5.94245 -2.90471,-3.04946 -3.42886,-4.70483 -0.81841,-2.58473 2.85425,2.31813 8.40188,4.02252 12.25076,3.7638 7.17623,-0.48244 11.427253,-4.4309 11.010853,-10.22728 -0.50034,-6.96483 -9.330483,-11.11157 -14.199423,-6.66819 -1.85332,1.69132 -1.95918,2.13244 -1.38958,5.79085 0.61654,3.96003 0.61654,3.96003 -1.24961,2.44327 -2.90266,-2.35916 -6.21982,-8.78924 -6.18394,-11.98706 0.0172,-1.51852 0.37592,-2.72755 0.79754,-2.68678 0.42156,0.0412 1.66725,0.23263 2.76814,0.42633 4.56947,0.80411 6.51983,-6.00591 2.49909,-8.72607 -5.34781,-3.61797 -9.61732,0.51522 -10.99861,10.64773 -0.64157,4.70608 -0.64157,4.70608 -1.89784,1.43361 -1.21813,-3.17313 -2.73055,-18.00433 -1.93027,-18.92853 0.21229,-0.24516 1.28702,-0.10939 2.38815,0.29846 2.8605,1.06307 6.54574,-0.43975 7.59606,-3.09784 2.51345,-6.36045 -5.66385,-9.51594 -10.90101,-4.20652 -1.31813,1.3363 -2.95566,3.79856 -3.63899,5.47174 -0.68333,1.67317 -1.40161,2.90424 -1.59618,2.73578 -0.19456,-0.16849 -0.28497,-2.49636 -0.20076,-5.17309 0.1499,-4.7688 2.12054,-10.94051 4.74327,-14.85519 1.24347,-1.85598 1.24347,-1.85598 3.32656,-0.052 2.78965,2.4157 6.03669,2.17606 7.90355,-0.58191 1.827,-2.70049 1.65119,-4.21934 -0.74791,-6.46183 -1.50846,-1.41001 -2.67146,-1.78541 -5.01058,-1.61738 -3.81357,0.27397 -6.57176,1.9432 -10.85749,6.57085 -3.36245,3.63067 -3.36245,3.63067 -2.52906,0.58951 2.21324,-8.07635 7.28518,-15.04111 13.33426,-18.31043 4.44557,-2.40272 4.81438,-2.3351 4.67223,0.85628 -0.13979,3.13873 1.43474,4.62793 4.64901,4.39702 3.13502,-0.22522 5.08721,-2.32662 4.87719,-5.25004 -0.38065,-5.29866 -7.13306,-7.72028 -17.71096,-6.35165 -6.50833,0.84209 -6.50833,0.84209 -3.58132,-2.00156 1.60984,-1.56401 4.96363,-3.98703 7.45283,-5.38449 3.90148,-2.19032 5.44147,-2.61661 11.16298,-3.08989 6.30438,-0.52159 9.5572,0.13112 7.62076,1.52907 -1.25624,0.90694 -0.56568,5.33052 1.02662,6.57613 1.99217,1.55847 5.8559,1.14884 7.543253,-0.79975 1.88101,-2.17217 1.46453,-6.27003 -1.107383,-10.89547 -1.67465,-3.01181 -2.86261,-4.1061 -6.19022,-5.70204 -2.26481,-1.08623 -5.63929,-2.06714 -7.49879,-2.17978 -5.27355,-0.31951 -5.9922,-0.84356 -2.36941,-1.72778 10.02481,-2.4468 21.029743,-1.79289 27.069773,1.60874 3.65311,2.05724 4.38797,3.43246 2.26967,4.24737 -2.68273,1.03203 -4.04628,2.957 -3.86657,5.45854 0.35142,4.89183 5.85195,6.0712 9.91149,2.12514 2.85708,-2.77717 3.99496,-6.18667 3.65306,-10.94595 -0.36215,-5.04116 -1.87283,-7.70442 -6.82193,-12.02679 -2.28287,-1.99375 -3.77786,-3.65179 -3.32218,-3.68452 1.79576,-0.12901 11.44534,4.48154 15.88921,7.59183 5.0312,3.52138 8.879714,8.18427 9.934774,12.03715 0.639668,2.3359 0.600304,2.38552 -2.042718,2.5754 -3.623626,0.26031 -5.517566,2.51132 -5.249736,6.2395 0.25891,3.60418 2.16256,5.19137 5.904027,4.9226 6.766438,-0.48608 10.419813,-12.1423 6.790847,-21.66639 -1.482674,-3.89115 -1.066845,-4.24732 1.81796,-1.55709 5.321499,4.96259 9.890059,14.72127 10.433537,22.28659 0.354621,4.93639 0.354621,4.93639 -1.729854,4.52598 -3.330231,-0.65566 -5.697764,-0.0706 -6.975308,1.72361 -2.532072,3.5562 0.09443,8.1361 4.485034,7.82069 1.59925,-0.11488 2.987776,-1.03493 4.907386,-3.25169 2.488883,-2.87415 3.770522,-6.28818 4.791722,-12.76419 0.357549,-2.2675 0.357549,-2.2675 1.191854,-0.47598 1.333111,2.86257 1.974213,16.20892 0.991718,20.64501 -0.874568,3.9487 -0.874568,3.9487 -4.592135,3.77695 -4.36522,-0.20168 -5.911008,0.87127 -5.689879,3.94943 0.199984,2.78381 2.106969,4.29417 5.146124,4.07585 3.226879,-0.23182 6.282251,-3.19742 9.549536,-9.26897 2.51581,-4.67508 2.51581,-4.67508 2.706385,-2.12108 0.533213,7.14723 -3.362012,19.69467 -9.168776,29.53408 -3.77617,6.39865 -17.356663,21.73474 -19.37772,21.88277 -2.203292,0.1613 -16.863828,-4.0849 -22.396098,-6.4868 -7.36044,-3.19561 -14.57066,-9.49333 -17.04164,-14.88488 -5.818683,-12.69613 0.30481,-26.67981 12.13394,-27.70915 4.83488,-0.42082 8.29342,1.44426 10.37307,5.59357 2.17849,4.34656 1.77057,7.95229 -1.33429,11.79448 -2.35236,2.911 -2.07355,0.48982 -2.07355,0.48982 -4.75563,-3.2338 -4.77678,-8.84507 -9.94032,-6.89456 -5.66831,2.14121 -3.10145,11.50322 2.77111,14.57442 8.71182,4.55608 18.85644,-0.87657 21.386887,-11.45311 2.183662,-9.12719 -4.472697,-20.86212 -13.566197,-23.91669 -10.20448,-3.42776 -24.191953,4.99791 -29.029373,17.48647 -2.66689,6.88494 -2.53818,15.08612 0.34595,22.04377 5.01441,12.09675 18.269113,23.72014 31.283363,27.43319 4.66501,1.33096 9.430696,-2.25497 6.70571,0.48371 -3.47792,3.49535 -14.55683,10.87994 -19.88921,12.68572 -5.17909,1.75383 -15.570503,2.47946 -20.853573,1.45627 z"
id="path880"
inkscape:connector-curvature="0"
inkscape:transform-center-x="14.678137"
inkscape:transform-center-y="-4.6818479"
sodipodi:nodetypes="cccccscccccscsccccccccccsccccscsscccccccccccccccccscscsccscccsccccscccccsccccscccsccscccc"
transform="rotate(-23.482803,81.584883,242.8189)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

BIN
misp-training.pdf Normal file

Binary file not shown.

View File

@ -0,0 +1,77 @@
% Copyright (C) 2018-2019 Pasquale Claudio Africa and the LaTeX community.
% A full list of contributors can be found at
%
% https://github.com/elauksap/focus-beamertheme
%
% This file is part of beamerthemefocus.
%
% beamerthemefocus is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% beamerthemefocus is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with beamerthemefocus. If not, see <http://www.gnu.org/licenses/>.
\mode<presentation>
% DEFINE COLORS. ---------------------------------------------------------------
\definecolor{main}{RGB}{83, 31, 117}
\definecolor{textcolor}{RGB}{0, 0, 0}
\definecolor{background}{RGB}{83, 31, 117}
%\definecolor{background}{RGB}{215, 212, 227}
\definecolor{alert}{RGB}{180, 0, 0}
\definecolor{example}{RGB}{0, 110, 0}
% SET COLORS. ------------------------------------------------------------------
\setbeamercolor{normal text}{fg=textcolor, bg=background}
\setbeamercolor{alerted text}{fg=alert}
\setbeamercolor{example text}{fg=example}
\setbeamercolor{titlelike}{fg=background, bg=main}
\setbeamercolor{frametitle}{parent={titlelike}}
\setbeamercolor{footline}{fg=background, bg=main}
\setbeamercolor{block title}{bg=main!80!background, fg=background}
\setbeamercolor{block body}{bg=main!10!background, fg=main}
\setbeamercolor{block title alerted}{bg=alert, fg=background}
\setbeamercolor{block body alerted}{bg=alert!10!background, fg=main}
\setbeamercolor{block title example}{bg=example, fg=background}
\setbeamercolor{block body example}{bg=example!10!background, fg=main}
\setbeamercolor{itemize item}{fg=main}
\setbeamercolor{itemize subitem}{fg=main}
\setbeamercolor{enumerate item}{fg=main!70!black}
\setbeamercolor{enumerate subitem}{fg=main!70!black}
\setbeamercolor{description item}{fg=main!70!black}
\setbeamercolor{description subitem}{fg=main!70!black}
\setbeamercolor{caption name}{fg=textcolor}
\setbeamercolor{section in toc}{fg=textcolor}
\setbeamercolor{subsection in toc}{fg=textcolor}
\setbeamercolor{section number projected}{bg=textcolor}
\setbeamercolor{subsection number projected}{bg=textcolor}
\setbeamercolor{bibliography item}{fg=main}
\setbeamercolor{bibliography entry author}{fg=main!70!black}
\setbeamercolor{bibliography entry title}{fg=main}
\setbeamercolor{bibliography entry location}{fg=main}
\setbeamercolor{bibliography entry note}{fg=main}
\mode<all>

View File

@ -0,0 +1,50 @@
% Copyright (C) 2018-2019 Pasquale Claudio Africa and the LaTeX community.
% A full list of contributors can be found at
%
% https://github.com/elauksap/focus-beamertheme
%
% This file is part of beamerthemefocus.
%
% beamerthemefocus is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% beamerthemefocus is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with beamerthemefocus. If not, see <http://www.gnu.org/licenses/>.
\mode<presentation>
% SET FONTS. -------------------------------------------------------------------
\setbeamerfont{title}{size=\Large, shape=\bfseries}
\setbeamerfont{subtitle}{size=\normalsize, parent=structure}
\setbeamerfont{author}{size=\scriptsize}
\setbeamerfont{institute}{size=\normalsize}
\setbeamerfont{date}{size=\scriptsize}
\setbeamerfont{sectiontitle}{size=\huge, series=\scshape\bfseries}
\setbeamerfont{frametitle}{size=\Large, shape=\scshape}
\setbeamerfont{footline}{size=\scriptsize}
\setbeamerfont{focusframe}{size=\huge, shape=\scshape}
\setbeamerfont{description item}{size=\normalsize, shape=\bfseries}
\setbeamerfont{caption name}{shape=\bfseries}
\setbeamerfont{bibliography item}{size=\small, shape=\scshape}
\setbeamerfont{bibliography entry author}{size=\small, shape=\scshape}
\setbeamerfont{bibliography entry title}{size=\small, series=\scshape\bfseries}
\setbeamerfont{bibliography entry location}{size=\small, shape=\scshape\normalfont}
\setbeamerfont{bibliography entry note}{size=\small, shape=\scshape\normalfont}
\mode<all>

View File

@ -0,0 +1,113 @@
% Copyright (C) 2018-2019 Pasquale Claudio Africa and the LaTeX community.
% A full list of contributors can be found at
%
% https://github.com/elauksap/focus-beamertheme
%
% This file is part of beamerthemefocus.
%
% beamerthemefocus is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% beamerthemefocus is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with beamerthemefocus. If not, see <http://www.gnu.org/licenses/>.
\mode<presentation>
\RequirePackage{tikz}
% CUSTOMIZE STRUCTURE ELEMENTS. ------------------------------------------------
\setbeamertemplate{blocks}[default]
\setbeamertemplate{section in toc}[square]
\setbeamertemplate{subsection in toc}[square]
\setbeamertemplate{itemize items}[square]
\setbeamertemplate{itemize subitem}[triangle]
% STRUCTURE FRAME TEMPLATE DEFINITIONS. ----------------------------------------
% Title page.
\defbeamertemplate*{title page}{focus}{%
{%
\usebeamercolor{frametitle}\colorlet{focus@@temp}{bg}%
\begin{tikzpicture}[overlay, remember picture]
\fill[color=focus@@temp] (current page.north west) rectangle ([shift = {(0, -0.45\paperheight)}] current page.north east);
\end{tikzpicture}
}
\vspace{-2.65\baselineskip}
\begin{minipage}[b][0.35\paperheight]{\textwidth}
\vspace{\baselineskip}
\usebeamerfont{title}
\usebeamercolor[fg]{frametitle}
\inserttitle
\end{minipage}
\begin{minipage}[t][0.1\paperheight]{\textwidth}
\usebeamerfont{subtitle}
\usebeamercolor[fg]{frametitle}
\insertsubtitle
\end{minipage}
% Set the title graphic in a zero-height box, so that
% the position of other elements is not affected.
{\vfuzz=9999pt\vbox to 0pt {
\raggedleft
\inserttitlegraphic
}}
\begin{minipage}[t]{\textwidth}
\usebeamerfont{author}
\insertauthor
\end{minipage}
\vspace*{\baselineskip}
\begin{minipage}[t]{\textwidth}
\usebeamerfont{institute}
\insertinstitute
\end{minipage}
\vspace*{\baselineskip}
\begin{minipage}[t]{\textwidth}
\usebeamerfont{date}{\insertdate}
\end{minipage}
\vspace*{0pt plus 100fill}
\addtocounter{framenumber}{-1}
}
% Section page.
\defbeamertemplate*{section page}{focus}{%
{%
\usebeamercolor{frametitle}\colorlet{focus@@temp}{bg}%
\begin{tikzpicture}[overlay, remember picture]
\fill[color=focus@@temp] (current page.north west) rectangle ([shift = {(0, -0.45\paperheight)}] current page.north east);
\end{tikzpicture}%
}
\vspace{-2.5\baselineskip}
\begin{minipage}[b][0.45\paperheight]{\textwidth}
\usebeamerfont{sectiontitle}
\usebeamercolor[fg]{frametitle}
\let\hyperlink\@secondoftwo\insertsection
\end{minipage}
\vspace*{0pt plus 100fill}
}
\AtBeginSection[]{%
\begin{frame}[plain, noframenumbering]{}
\sectionpage
\end{frame}%
}
\mode<all>

View File

@ -0,0 +1,270 @@
% Copyright (C) 2018-2019 Pasquale Claudio Africa and the LaTeX community.
% A full list of contributors can be found at
%
% https://github.com/elauksap/focus-beamertheme
%
% This file is part of beamerthemefocus.
%
% beamerthemefocus is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% beamerthemefocus is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with beamerthemefocus. If not, see <http://www.gnu.org/licenses/>.
\mode<presentation>
\RequirePackage{appendixnumberbeamer} % Don't number appendix frames.
% Fix hyperref warning caused by \appendix
% (https://tex.stackexchange.com/questions/192686/hyperref-warning-caused-by-beamer-appendix).
\newcommand*{\bkmtranslateto}{\languagename}
\newcommand*{\bkmtranslate}[1]{%
\ifcsname tr@@@\bkmtranslateto @#1\endcsname
\csname tr@@@\bkmtranslateto @#1\endcsname
\else
#1%
\fi
}
\pdfstringdefDisableCommands{\let\translate\bkmtranslate}
\RequirePackage{bookmark}
\RequirePackage{etoolbox} % \BeforeBeginEnvironment.
\RequirePackage{tikz}
% FRAMETITLE TEMPLATES. --------------------------------------------------------
\defbeamertemplate*{frametitle}{focus}{%
% If not title page.
\ifnum\value{framenumber}>0%
\vspace{-1pt}%
\begin{beamercolorbox}[wd=\paperwidth,leftskip=0.55cm,rightskip=0.55cm,sep=0.2cm]{frametitle}%
\strut\insertframetitle\strut%
\end{beamercolorbox}%
\fi%
}
% Plain header.
\defbeamertemplate{frametitle}{plain}{%
% If not title page.
\ifnum\value{framenumber}>0%
\vspace{-1pt}%
\begin{beamercolorbox}[wd=\paperwidth,leftskip=0.55cm,rightskip=0.55cm,sep=0.2cm,ignorebg]{frametitle}%
\strut%
\end{beamercolorbox}%
\fi%
}
% FOOTLINE TEMPLATES. ----------------------------------------------------------
% Lenghts for the progress bar footline.
\newlength{\focus@pbar@height}% Progress bar height.
\newlength{\focus@pbar@leftoffset}
\newlength{\focus@pbar@rightoffset}
\defbeamertemplate*{footline}{progressbar}{%
% If not appendix.
\ifnum\mainend<0% From package appendixnumberbeamer.
%
\settowidth{\focus@pbar@leftoffset}{1}%
\addtolength{\focus@pbar@leftoffset}{1.5em}%
%
\settowidth{\focus@pbar@rightoffset}{\inserttotalframenumber}%
\addtolength{\focus@pbar@rightoffset}{1.5em}%
%
% If not title page.
\ifnum\c@framenumber>0%
\ifnum\c@framenumber<\inserttotalframenumber%
\begin{tikzpicture}[inner xsep=0.5em, inner ysep=0.5ex]\usebeamerfont{footline}
\pgfmathsetmacro{\focus@pbar@progress}%
{(\paperwidth-\focus@pbar@leftoffset-\focus@pbar@rightoffset)*(\insertframenumber/\inserttotalframenumber)}
\clip (0,0) rectangle ++(\paperwidth,\the\focus@pbar@height);
\fill[footline.bg] (0,0) rectangle ++(\the\focus@pbar@leftoffset,\the\focus@pbar@height);
\fill[footline.bg] (\the\focus@pbar@leftoffset,0) rectangle ++(\focus@pbar@progress pt,\the\focus@pbar@height)
++(0,{-0.5*\the\focus@pbar@height}) node[anchor=east, text=footline.fg] {\strut\insertframenumber};
\fill[footline.bg] (\paperwidth,0) rectangle ++(-\the\focus@pbar@rightoffset,\the\focus@pbar@height)
++(0,{-0.5*\the\focus@pbar@height}) node[anchor=west, text=footline.fg] {\strut\inserttotalframenumber};
\end{tikzpicture}%
\else%
\begin{tikzpicture}[inner xsep=0.5em, inner ysep=0.5ex]
\clip (0,0) rectangle ++(\paperwidth,\the\focus@pbar@height);
\fill[footline.bg] (0,0) rectangle ++(\paperwidth,\the\focus@pbar@height);
\node[anchor=east, footline.fg] at ({\paperwidth-\the\focus@pbar@rightoffset},{0.5*\focus@pbar@height}) {\strut\insertframenumber};
\node[footline.fg] at ({\paperwidth-\the\focus@pbar@rightoffset},{0.5*\focus@pbar@height}) {\strut/};
\node[anchor=west, footline.fg] at ({\paperwidth-\the\focus@pbar@rightoffset},{0.5*\focus@pbar@height}) {\strut\inserttotalframenumber};
\end{tikzpicture}%
\fi%
\fi%
\fi%
}
% Full bar footline.
\defbeamertemplate{footline}{fullbar}{%
% If not appendix.
\ifnum\mainend<0% From package appendixnumberbeamer.
%
\settowidth{\focus@pbar@leftoffset}{1}%
\addtolength{\focus@pbar@leftoffset}{1.5em}%
%
\settowidth{\focus@pbar@rightoffset}{\inserttotalframenumber}%
\addtolength{\focus@pbar@rightoffset}{1.5em}%
%
% If not title page.
\ifnum\c@framenumber>0%
\begin{tikzpicture}[inner xsep=0.5em, inner ysep=0.5ex]
\clip (0,0) rectangle ++(\paperwidth,\the\focus@pbar@height);
\fill[footline.bg] (0,0) rectangle ++(\paperwidth,\the\focus@pbar@height);
\node[anchor=east, footline.fg] at ({\paperwidth-\the\focus@pbar@rightoffset},{0.5*\focus@pbar@height}) {\strut\insertframenumber};
\node[footline.fg] at ({\paperwidth-\the\focus@pbar@rightoffset},{0.5*\focus@pbar@height}) {\strut/};
\node[anchor=west, footline.fg] at ({\paperwidth-\the\focus@pbar@rightoffset},{0.5*\focus@pbar@height}) {\strut\inserttotalframenumber};
\end{tikzpicture}%
\fi%
\fi%
}
% Empty footline.
\defbeamertemplate{footline}{none}{}
\DeclareOptionBeamer{numbering}{\def\beamer@focus@numbering{#1}}
\ExecuteOptionsBeamer{numbering=progressbar}
\ProcessOptionsBeamer
\def\beamer@focus@numberingprogressbar{progressbar}
\def\beamer@focus@numberingfullbar{fullbar}
\def\beamer@focus@numberingnone{none}
% BACKGROUND CANVAS TEMPLATES. -------------------------------------------------
\defbeamertemplate*{background canvas}{focus}{%
\begin{tikzpicture}
\clip (0,0) rectangle ++(\paperwidth,\paperheight);
\fill[normal text.bg] (0,0) rectangle ++(\paperwidth,\paperheight);
\end{tikzpicture}%
}
\defbeamertemplate{background canvas}{focusplain}{%
\begin{tikzpicture}
\clip (0,0) rectangle ++(\paperwidth,\paperheight);
\fill[normal text.bg] (0,0) rectangle ++(\paperwidth,\paperheight);
\end{tikzpicture}%
}
\defbeamertemplate{background canvas}{focusframe}{%
\begin{tikzpicture}
\clip (0,0) rectangle ++(\paperwidth,\paperheight);
\fill[frametitle.bg] (0,0) rectangle ++(\paperwidth,\paperheight);
\end{tikzpicture}%
}
% HOOKS FOR CREATING FRAMES. ---------------------------------------------------
\BeforeBeginEnvironment{frame}{%
\setbeamertemplate{background canvas}[focus]%
\setbeamertemplate{frametitle}[focus]%
%
% Reset footline height and determine it for the current slide.
\setlength{\focus@pbar@height}{0cm}%
\focus@calculatefootheight%
%
% If not appendix.
\ifnum\mainend<0 % From package appendixnumberbeamer.
\settoheight{\focus@pbar@height}{\usebeamerfont{footline}1234567890/}%
\addtolength{\focus@pbar@height}{6pt}%
%
\ifx\beamer@focus@numbering\beamer@focus@numberingprogressbar%
\setbeamertemplate{footline}[progressbar]%
\else%
\ifx\beamer@focus@numbering\beamer@focus@numberingfullbar%
\setbeamertemplate{footline}[fullbar]%
\fi%
\fi%
%
\focus@calculatefootheight%
\fi%
}
% Enable noframenumbering option.
\define@key{beamerframe}{noframenumbering}[true]{%
\setbeamertemplate{footline}[none]%
\setlength{\focus@pbar@height}{0cm}%
\focus@calculatefootheight%
%
\addtocounter{framenumber}{-1}%
}
% Enable plain option.
\define@key{beamerframe}{plain}[true]{%
\setbeamertemplate{background canvas}[focusplain]%
\setbeamertemplate{frametitle}[plain]%
%
\setbeamertemplate{footline}[none]%
}
% Full vertical centering
% (from https://tex.stackexchange.com/questions/247826/beamer-full-vertical-centering).
\define@key{beamerframe}{c}[true]{%
\beamer@frametopskip=0pt plus 1fill\relax%
\beamer@framebottomskip=0pt plus 1fill\relax%
\beamer@frametopskipautobreak=0pt plus 0.4\paperheight\relax%
\beamer@framebottomskipautobreak=0pt plus 0.6\paperheight\relax%
\def\beamer@initfirstlineunskip{}%
}
% Enable focus option.
\providebool{focus@standout}
\define@key{beamerframe}{focus}[true]{%
\booltrue{focus@standout}%
\begingroup%
\setkeys{beamerframe}{noframenumbering}%
\setbeamertemplate{background canvas}[focusframe]%
\setbeamertemplate{frametitle}[plain]%
%
\setkeys{beamerframe}{c}%
\centering%
\usebeamerfont{focusframe}%
\usebeamercolor[fg]{frametitle}%
}
\apptocmd{\beamer@reseteecodes}
{%
\ifbool{focus@standout}%
{%
\endgroup%
\boolfalse{focus@standout}%
}{}%
}{}{}
% Recalculate the footline's size and refresh other parameters.
% Partially copied from the definition of \beamer@calculateheadfoot.
\def\focus@calculatefootheight{%
\footheight=\focus@pbar@height%
\advance\footheight by 4pt%
\sidebarheight=\paperheight%
\advance\sidebarheight by-\headheight%
\advance\sidebarheight by\headdp%
\advance\sidebarheight by-\footheight%
\advance\sidebarheight by 4pt%
\footskip=\footheight%
\textheight=\paperheight%
\advance\textheight by-\footheight%
\advance\textheight by-\headheight%
\@colht\textheight%
\@colroom\textheight%
\vsize\textheight%
}
\mode<all>

View File

@ -0,0 +1,62 @@
% Copyright (C) 2018-2019 Pasquale Claudio Africa and the LaTeX community.
% A full list of contributors can be found at
%
% https://github.com/elauksap/focus-beamertheme
%
% This file is part of beamerthemefocus.
%
% beamerthemefocus is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% beamerthemefocus is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with beamerthemefocus. If not, see <http://www.gnu.org/licenses/>.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerthemefocus}[2019/01/18 v2.3 Focus Beamer theme]
\mode<presentation>
% THEME OPTIONS. ---------------------------------------------------------------
\DeclareOptionBeamer{numbering}{%
\PassOptionsToPackage{numbering=#1}{beamerouterthemefocus}
}
\newif\if@focus@loadfirafonts
\@focus@loadfirafontstrue
\DeclareOptionBeamer{nofirafonts}{\@focus@loadfirafontsfalse}
\ProcessOptionsBeamer
% LOAD EXTERNAL PACKAGES. ------------------------------------------------------
\if@focus@loadfirafonts
\RequirePackage[T1]{fontenc}
\PassOptionsToPackage{type1}{FiraSans}
\PassOptionsToPackage{type1}{FiraMono}
\RequirePackage{FiraSans}
\RequirePackage{FiraMono}
\fi
\usecolortheme{focus}
\usefonttheme{focus}
\useinnertheme{focus}
\useoutertheme{focus}
\setbeamertemplate{navigation symbols}{}
% SET MARGINS. -----------------------------------------------------------------
\setbeamersize{text margin left=0.75cm, text margin right=0.75cm}
\setlength{\leftmargini}{0.75cm}
\mode<all>

17
training-support/build.sh Executable file
View File

@ -0,0 +1,17 @@
#!/bin/bash
#
slidedecks=("c.1-cerebrate-internal")
mkdir output
export TEXINPUTS=::`pwd`/themes/
echo ${TEXINPUTS}
for slide in ${slidedecks[@]}; do
cd ${slide}
pdflatex slide.tex
rm *.aux *.toc *.snm *.log *.out *.nav *.vrb
cp slide.pdf ../output/${slide}.pdf
rm slide.pdf
cd ..
done

70
training-support/build_temp.sh Executable file
View File

@ -0,0 +1,70 @@
#!/bin/bash
#
slidedecks=("20200623-NATO-MUG-update")
mkdir output
export TEXINPUTS=::`pwd`/themes/
echo ${TEXINPUTS}
for slide in ${slidedecks[@]}; do
cd ${slide}
if test -f "slide_nl.tex"; then
pdflatex slide_nl.tex
pdflatex slide_nl.tex
fi
pdflatex slide.tex
pdflatex slide.tex
rm *.aux *.toc *.snm *.log *.out *.nav *.vrb
cp slide.pdf ../output/${slide}.pdf
rm slide.pdf
if test -f "slide_nl.tex"; then
cp slide_nl.pdf ../output/${slide}_nl.pdf
rm slide_nl.pdf
fi
cd ..
done
echo "Generating ack page..."
cd complementary/ack
pdflatex ack.tex
rm *.aux *.log *.out
cp ack.pdf ../../output
rm ack.pdf
cd ../..
echo "Generating cheatsheet..."
cd training-support/compact-cheatsheet/
pdflatex cheatsheet.tex
rm *.aux *.toc *.snm *.log *.out *.nav *.vrb
cp cheatsheet.pdf ../../output
rm cheatsheet.pdf
cd ../..
echo "Generating checklist..."
cd training-support/checklist
pdflatex usage.tex
rm *.aux *.toc *.snm *.log *.out *.nav *.vrb
cp usage.pdf ../../output
rm usage.pdf
cd ../..
echo "Generating handout..."
cd output
for pdf in ${slidedecks[@]}; do
listofpdf+="${pdf}.pdf "
done
echo ${listofpdf}
pdfunite ${listofpdf} cheatsheet.pdf usage.pdf ack.pdf ../misp-training.pdf
cd ..
exiftool -overwrite_original_in_place -Title="MISP Training and Slide Decks" -Author="CIRCL Computer Incident Response Center Luxembourg" -Subject="MISP Threat Intelligence Platform Training Materials" -Keywords="MISP Threat Intelligence CTI STIX information sharing yara sigma suricata snort bro openioc threat-actor TIP threat intelligence platform circl.lu training cybersecurity MISPProject" misp-training.pdf
rm table.md
echo "| Slides (PDF) | Source Code |">>table.md
echo "| ------------ | ----------- |">>table.md
for t in ${slidedecks[@]}; do
echo "| [${t}](https://www.misp-project.org/misp-training/${t}.pdf) | [source](https://github.com/MISP/misp-training/tree/master/${t}) |" >>table.md
done

View File

@ -0,0 +1,105 @@
% DO NOT COMPILE THIS FILE DIRECTLY!
% This is included by the other .tex files.
\begin{frame}[t,plain]
\titlepage
\end{frame}
\begin{frame}
\frametitle{Plan for this session}
\begin{itemize}
\item Quickly go over what is there in Cerebrate currently
\item Implementation details
\item The future
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Current scope}
\begin{itemize}
\item Basic UI and API systems (we'll talk about this later)
\item First iteration of ContactDB
\item Early version of the Trust Circles
\item Basic User management and ACL
\item Basic public lookup interface
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{ContactDB}
\begin{itemize}
\item Repository of organisations and individuals
\item Their relationships to one another (an individual can be affiliated with a set of organisations)
\item Encryption keys associated with either
\item Basic public lookup interface
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Trust Circles}
\begin{itemize}
\item Repository of sharing groups
\item Sharing groups have metadata about their purpose and a list of member organisations
\item Slightly simplified compared to MISP, this might change though
\item Cerebrate sharing groups are not editable by anyone besides the source (up for discussion)
\item They always have a primary owner
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{User management}
\begin{itemize}
\item Users are tied to an individual - but not all individuals are users
\item Authentication happens via username+password or an API key
\item We can extend this in the future with other auth providers (for example LDAP) and optionally take this responsibility out of Cerebrate
\item Users are tied to roles that can be custom defined
\item Currently their affiliation to an organisation happens through the individual - though I will probably change this
\item Users can have a set of API keys with different expirations / use-cases (based on MISP discussions this week we will enhance this further)
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Public lookup interface}
\begin{itemize}
\item Still more of a proof of concept
\item The idea is that administrators can decide to open up a fully public interface for lookup services
\item Currently the Individual and Organisation registries are optional parts of this system
\item The plan is to be able to mark a list of orgs/individuals for the public lookups
\item Separate url routing makes additional allow/deny lists on the URL easy to implement
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Internals}
\begin{itemize}
\item Largest part of the work was transitioning MISP APIs to a more modern stack
\item UIs are generated by a diverse list of custom factories
\item Everything is parametrised and standardised internally
\item MISP's API libraries have been converted and modernised
\item Same with the ACL libraries
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Deployment}
\begin{itemize}
\item Installation instructions are already available on github
\item Very simple, low number of requirements
\item Should run on a potato
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Main Next steps}
\begin{itemize}
\item Many things to do within the existing scopes
\item Cerebrate to Cerebrate communication connections
\item Automatic exchange of information
\item Trust relationships
\item Integration layer to instruct local tools
\end{itemize}
\end{frame}

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

View File

@ -0,0 +1,23 @@
\documentclass{beamer}
\usetheme[numbering=progressbar]{focus}
\definecolor{main}{RGB}{83, 31, 117}
\definecolor{textcolor}{RGB}{0, 0, 0}
\definecolor{background}{RGB}{215, 212, 227}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{listings}
\usetikzlibrary{positioning}
\usetikzlibrary{shapes,arrows}
\author{\small{\input{../includes/authors.txt}}}
\title{Cerebrate}
\subtitle{A quick intro into the current dev version of Cerebrate}
\institute{}
\titlegraphic{\includegraphics[scale=0.2]{logo.png}}
\date{\input{../includes/location.txt}}
\begin{document}
\include{content}
\end{document}

View File

@ -0,0 +1,125 @@
\documentclass[nofootinbib, a4paper]{revtex4}
%\documentclass{memoir}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[x11names,svgnames,dvipsnames]{xcolor}
\usepackage{progressbar}
\usepackage{lastpage}
\usepackage{pageslts}
\usepackage{booktabs}
\usepackage{scalerel,amssymb}
\usepackage[perpage]{footmisc}
\usepackage[most]{tcolorbox}
\usepackage[unicode=true,
bookmarks=true,bookmarksnumbered=false,bookmarksopen=false,
breaklinks=false,pdfborder={0.1 0.1 0.1},backref=false,colorlinks=false,linktoc=all]
{hyperref}
\hypersetup{pdftitle={Status report 2017},
pdfauthor={CIRCL}}
\renewcommand{\arraystretch}{1.2}
\makeatletter
%\renewcommand{\bf}{\textbf}
%\renewcommand{\it}{\textit}
\usepackage{fancyhdr}
\newcommand{\ourOrganizationName}{CIRCL - Computer Incident Response Center Luxembourg - TLP:GREEN}
\newcommand{\ourOrganizationNameTitle}{CIRCL - Computer Incident Response Center Luxembourg}
\newcommand{\ourAuthors}{Team CIRCL}
\newcommand{\ourOrganizationAddress}{(+352) 247 88444 - info@circl.lu www.circl.lu}
\begin{document}
\section*{List of features to explain: User (MISP trainer support)}
\begin{center}
\begin{tabular}{@{}lll@{}}
\hline
Check & Description&Length\\
\hline
$\Box$ & {\bf Add events} & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - via Standard UI & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - Distribution levels and publication & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - Different type of timestamps & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & {\bf Add attributes} & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - via Freetext & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - via Standard UI & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - via Template & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - via ReST API (including freetext API?) & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - via EventGraph & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & {\bf Object} & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - add Object & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - add References & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - show via EventGraph & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - add additional elements via the EventGraph & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & {\bf *-lists} & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - Warninglists: show warnings raised in steps above & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - Noticelists: show warnings when adding data & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - Import Regexp: avoid leaking private/personal data & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & {\bf Correlations} & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - show correlations that were added & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - pivot to events via correlations & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - show correlations graph & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - feeds \& servers correlation & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & {\bf Tags and Galaxies} & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - add Tag from Taxonomy & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - add GalaxyCluster & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - add ATT\&CK pattern & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - Creating and using Tag Collection & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & {\bf Sighting} & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - via UI + custom via UI (new source or expiration sighting) & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - via API & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & {\bf Delegation} & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & {\bf Proposal} & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & {\bf Delete (including soft versus hard delete) } & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - Event blacklist when deleting & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & {\bf Extending event} (how and when to use it) & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & {\bf Extracting the data} & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - download from & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - download from via modules & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - .json routing & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - mass export & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - RestSearch & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & {\bf Searching for data} & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - Attribute search & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
$\Box$ & - Event index filter search & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.1}\\
\hline
\end{tabular}
\end{center}
\newpage
\section*{List of features to explain: Administrator (MISP trainer support)}
\begin{center}
\begin{tabular}{@{}lll@{}}
\hline
Check & Description&Length\\
\hline
$\Box$ & {\bf User} & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - administration and contact via standard UI & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - Roles & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & {\bf Organisations} & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - local and remote & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - administration: Creation and merge & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - Org admins and sync users & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & {\bf Sharing group} & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - administration via standard UI & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & {\bf Templates} & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - administration via standard UI & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - Pulling and Updating & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & {\bf Jobs and Workers} & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - administration via standard UI & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - Scheduled Tasks and CRON jobs & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & {\bf Black listing} & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - Events & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - Organisations & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & {\bf Searching} & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - Dashboard & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - Event index & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - Attributes: values, [not] tag & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - Event level: quickfilter, contextual, distribution & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - Event level: event graph & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
$\Box$ & - RestSearch & \progressbar[filledcolor=ForestGreen, emptycolor=white]{0.3}\\
\hline
\end{tabular}
\end{center}
\end{document}

View File

@ -0,0 +1,124 @@
\documentclass[10pt,landscape]{article}
\usepackage{multicol}
\usepackage{calc}
\usepackage{ifthen}
\usepackage[landscape]{geometry}
\usepackage[colorlinks = true,
linkcolor = blue,
urlcolor = blue,
citecolor = blue,
anchorcolor = blue]{hyperref}
\usepackage{graphicx}
\usepackage[T1]{fontenc}
\usepackage[bitstream-charter]{mathdesign}
% Based on the LaTeX cheatsheet
% This sets page margins to .5 inch if using letter paper, and to 1cm
% if using A4 paper. (This probably isn't strictly necessary.)
% If using another size paper, use default 1cm margins.
\ifthenelse{\lengthtest { \paperwidth = 11in}}
{ \geometry{top=.5in,left=.5in,right=.5in,bottom=.5in} }
{\ifthenelse{ \lengthtest{ \paperwidth = 297mm}}
{\geometry{top=1cm,left=1cm,right=1cm,bottom=1cm} }
{\geometry{top=1cm,left=1cm,right=1cm,bottom=1cm} }
}
% Turn off header and footer
\pagestyle{empty}
% Redefine section commands to use less space
\makeatletter
\renewcommand{\section}{\@startsection{section}{1}{0mm}%
{-1ex plus -.5ex minus -.2ex}%
{0.5ex plus .2ex}%x
{\normalfont\large\bfseries}}
\renewcommand{\subsection}{\@startsection{subsection}{2}{0mm}%
{-1explus -.5ex minus -.2ex}%
{0.5ex plus .2ex}%
{\normalfont\normalsize\bfseries}}
\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{0mm}%
{-1ex plus -.5ex minus -.2ex}%
{1ex plus .2ex}%
{\normalfont\small\bfseries}}
\makeatother
% Define BibTeX command
\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
% Don't print section numbers
\setcounter{secnumdepth}{0}
\setlength{\parindent}{0pt}
\setlength{\parskip}{0pt plus 0.5ex}
\begin{document}
\raggedright
\footnotesize
\begin{multicols}{3}
% multicol parameters
% These lengths are set only within the two main columns
%\setlength{\columnseprule}{0.25pt}
\setlength{\premulticols}{1pt}
\setlength{\postmulticols}{1pt}
\setlength{\multicolsep}{1pt}
\setlength{\columnsep}{2pt}
\begin{center}
\includegraphics{misp.pdf}\\
\Large{\textbf{MISP Training Cheat Sheet}} \\
\end{center}
\section{Virtual Machine (MISP Training VM)}
The MISP Training VM is available at the following location : \url{https://www.circl.lu/misp-images/}.\\
The VM can be imported into VirtualBox or VMWare as an appliance (OVA).\\
{\it The MISP training VM includes multiple applications and packages which are configured by default without
production-ready secure settings. We strongly recommend to not use this VM for production and/or for storing sensitive information.}\\
\section{Default URL and (username/password)}
\begin{itemize}
\item MISP web interface - \url{http://127.0.0.1} (NAT: \url{http://127.0.0.1:8080}) ({\bf admin@admin.test/admin})
\item MISP-modules - \url{http://127.0.0.1:6666}
\item MISP-dashboard - \url{http://127.0.0.1:8001}
\item Viper-web - http://127.0.0.1:8888 (admin/Password1234)
\item jupyter-notebook - http://127.0.0.1:8889
\item system credentials via ssh/terminal - (misp/Password1234)
\end{itemize}
\section{How to get the API key of my user?}
Go to the MISP web interface, and simply click your username in the right upper corner to see your user profile which includes your API key.
\section{How to reset a password in MISP?}
If you did any specific mistake while setting up your password at the first login. You can reset the password by logging in
on the system (via SSH or terminal) and typing the following command:
{\tt /var/www/MISP/app/Console/cake Password admin@admin.test YourTemporaryPasssword}
\section{How to reset the bruteforce login protection?}
While trying to log into MISP multiple times unsuccessfuly, the bruteforce protection might be triggered. You can reset the bruteforce
login protection's state by logging into the system (via SSH or terminal) and typing the following command:
{\tt /var/www/MISP/app/Console/cake Admin clearBruteforce}
\section{How to upgrade MISP to the latest version?}
Log in via SSH or terminal and type the following commands (your VM must have an Internet access):
\begin{enumerate}
\item {\tt cd /var/www/MISP}
\item {\tt git pull origin 2.4}
\item {\tt git submodule update ----init ----recursive}
\end{enumerate}
\section{Getting OSINT information into your MISP}
By default, a fresh installation of MISP is empty as we prefer to leave it up to the users to store, gather, and share the information they need. If you would like to populate your MISP with some real-life data, simply enable the CIRCL OSINT feed, which contains cybersecurity threat-related information. In order to enable the OSINT feed, go to $\rightarrow$ {\tt Sync Actions} then $\rightarrow$ {\tt List Feeds}. Then select the checkbox next to the first feed (called {\tt CIRCL OSINT Feed}) and click on top {\tt Enable Selected}. To fetch all events from the selected feed, scroll to the right side of the {\tt CIRCL OSINT Feed} row and simply click the icon depicting a downward pointing arrow in a circle. Once you go back to the Event Index, the events will start appearing gradually.
\section{Training materials and documentation}
MISP training materials are available at the following location \url{https://www.circl.lu/services/misp-training-materials/} and are freely licensed under CC-BY-SA.
MISP book is available at the following location \url{https://www.circl.lu/doc/misp/}.
\rule{0.3\linewidth}{0.25pt}
\scriptsize
Copyright \copyright\ 2018 MISP Project licensed under CC-BY-SA
\end{multicols}
\end{document}

Binary file not shown.

View File

@ -0,0 +1,39 @@
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[pdftex,
pdfauthor={CIRCL - Computer Incident Response Center Luxembourg / MISP Project},
pdftitle={MISP Training Slide Decks},
pdfsubject={MISP Project training materials including slides decks},
pdfkeywords={CTI Threat Intelligence Analyst Cyber Security},
pdfproducer={},
pdfcreator={pdflatex and tons of random silly scripts}]{hyperref}
\usepackage{graphicx}
\begin{document}
\section*{MISP Training Slide Decks}
MISP\footnote{\url{https://www.misp-project.org/}} is a threat intelligence platform for gathering, sharing, storing and correlating Indicators of Compromise of targeted attacks, threat intelligence, financial fraud information, vulnerability information or even counter-terrorism information.
This document includes the slides which are the support materials\footnote{\url{https://github.com/MISP/misp-training}} used for MISP trainings. The content is dual-licensed under CC-BY-SA version 4 license or GNU Affero General Public License version 3 which allows you to freely use, remixes and share-alike the slides while still mentioning the contributors under the same conditions.
\section*{Contributors}
\begin{itemize}
\item Steve Clement \url{https://github.com/SteveClement}
\item Alexandre Dulaunoy \url{https://github.com/adulau}
\item Andras Iklody \url{https://github.com/iglocska}
\item Sami Mokaddem \url{https://github.com/mokaddem}
\item Sascha Rommelfangen \url{https://github.com/rommelfs}
\item Christian Studer \url{https://github.com/chrisr3d}
\item Raphaël Vinot \url{https://github.com/rafiot}
\item Gerard Wagener \url{https://github.com/haegardev}
\end{itemize}
\section*{Acknowledgment}
The MISP project is co-financed and resource supported by CIRCL Computer Incident Response Center Luxembourg\footnote{\url{https://www.circl.lu/}} and co-financed by a CEF (Connecting Europe Facility) funding under CEF-TC-2016-3 - Cyber Security as {\it Improving MISP as building blocks for next-generation information sharing}.
\includegraphics[scale=0.2]{en_square_cef_logo.eps}
\includegraphics[scale=0.3]{logo-circl.pdf}
\end{document}

Binary file not shown.

View File

@ -0,0 +1,45 @@
# Agenda
## First day
- 9:00-10:30 Introduction Cybersecurity Information Sharing - MISP Perspective
- 10:45-12:30 Usage and Features of the MISP software
- 14:00-15:30 Common Integration of MISP within an Organisation - from MISP Setup and Seizing to Situational Awareness
- 15:45-17:00 MISP Administration and Starting your Information Sharing Community
## Second day
- 9:00-10:30 Practical OSINT exercise - Best Practices in Threat Intelligence
- 10:45-12:30 Practical OSINT exercise - Gather, document, analyse and contextualise intelligence using MISP
- 14:00-15:30 Building Information Sharing Communities
- 15:45-17:00 Building Information Sharing Communities
## Third day
- 9:00-10:30 Extending Data Models in MISP - from Taxonomies to Custom Objects
- 10:45-12:30 Turning data into actionable intelligence using APIs
- 14:00-15:30 Integrating MISP with your tools and processes
- 15:45-17:00 Integrating MISP with your tools and processes
# What will attendees learn?
Participants will understand the overall process of threat intelligence in incident response, cyber security and other fields. They will be able to create their own intelligence and share it efficiently with other partners. They will be able to analyse specific requirements of information sharing communities and apply it to their day-to-day operational activities. Participants will be able to apply the information sharing concepts and improve their cyber security processes to gather more information and exercise it more efficiently.
- MISP in practice
- encoding information from 3rd parties
- encoding information produced by other tools
- contextualising information
- collaborating with others and partners
- cross-correlating information and how to make use of the community
- producing actionable information
- integrating MISP with other tools via the APIs
- building modules to connect to internal and external services
- building valuable feeds
- using the various support tools coming from the misp-project as well as 3rd parties

View File

@ -0,0 +1 @@
Andras Iklody

View File

@ -0,0 +1 @@
Internal

194
training-support/logo.svg Normal file
View File

@ -0,0 +1,194 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg8"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="logo.svg">
<defs
id="defs2">
<filter
inkscape:label="Light Contour"
inkscape:menu="Image Paint and Draw"
inkscape:menu-tooltip="Uses vertical specular light to draw lines"
style="color-interpolation-filters:sRGB;"
id="filter1052">
<feGaussianBlur
in="SourceGraphic"
stdDeviation="1.5"
result="result3"
id="feGaussianBlur1026" />
<feComponentTransfer
result="result1"
in="result3"
id="feComponentTransfer1034">
<feFuncR
type="discrete"
tableValues="0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1"
id="feFuncR1028" />
<feFuncG
type="discrete"
tableValues="0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1"
id="feFuncG1030" />
<feFuncB
type="discrete"
tableValues="0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1"
id="feFuncB1032" />
</feComponentTransfer>
<feGaussianBlur
result="result5"
stdDeviation="0.01"
id="feGaussianBlur1036" />
<feBlend
in2="result5"
result="result6"
mode="lighten"
in="result5"
id="feBlend1038" />
<feColorMatrix
in="result6"
type="luminanceToAlpha"
result="result2"
id="feColorMatrix1040" />
<feSpecularLighting
surfaceScale="5"
result="result9"
specularExponent="20"
in="result2"
specularConstant="1"
id="feSpecularLighting1044">
<feDistantLight
azimuth="180"
elevation="90"
id="feDistantLight1042" />
</feSpecularLighting>
<feComposite
in2="result6"
operator="arithmetic"
in="result9"
k1="0.4"
k3="0.7"
result="result3"
id="feComposite1046" />
<feBlend
in2="result1"
in="result3"
mode="normal"
result="result8"
id="feBlend1048" />
<feComposite
in2="SourceGraphic"
in="result8"
operator="in"
result="result7"
id="feComposite1050" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.94316065"
inkscape:cx="-177.70441"
inkscape:cy="599.30769"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1025"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<g
id="g1246"
transform="translate(18.514873,19.917515)"
inkscape:export-xdpi="100"
inkscape:export-ydpi="100">
<rect
transform="rotate(9.7671315)"
ry="0"
rx="0"
y="108.22385"
x="-171.65059"
height="123.43249"
width="143.91104"
id="rect882-6-3"
style="opacity:1;fill:#924DA6;fill-opacity:1;stroke:none;stroke-width:5.33961058;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
transform="rotate(-2.3147481)"
ry="0"
rx="0"
y="71.777283"
x="-212.53632"
height="123.43249"
width="143.91107"
id="rect882"
style="opacity:1;fill:#531F75;fill-opacity:1;stroke:none;stroke-width:5.33961058;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
transform="rotate(-14.177568)"
ry="0"
rx="0"
y="25.497513"
x="-238.369"
height="123.43249"
width="143.91106"
id="rect882-6"
style="opacity:1;fill:#68599C;fill-opacity:1;stroke:none;stroke-width:5.33961058;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<text
id="text1206"
y="105.72055"
x="-208.51619"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:27.83764458px;line-height:1.25;font-family:TheMix;-inkscape-font-specification:'TheMix, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;opacity:0.93000004;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.69594115"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:27.83764458px;font-family:TheMix;-inkscape-font-specification:'TheMix, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke-width:0.69594115"
y="105.72055"
x="-208.51619"
id="tspan1204"
sodipodi:role="line">CEREBRATE </tspan><tspan
id="tspan1208"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:27.83764458px;font-family:TheMix;-inkscape-font-specification:'TheMix, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;stroke-width:0.69594115"
y="140.51761"
x="-208.51619"
sodipodi:role="line">Project</tspan></text>
</g>
<path
style="opacity:0.51999996;fill:#ffffff;stroke-width:0.74535334;filter:url(#filter1052)"
d="m -109.09829,234.00549 c -5.78745,-1.12099 -9.6592,-2.96184 -12.4983,-5.94245 -2.90471,-3.04946 -3.42886,-4.70483 -0.81841,-2.58473 2.85425,2.31813 8.40188,4.02252 12.25076,3.7638 7.17623,-0.48244 11.427253,-4.4309 11.010853,-10.22728 -0.50034,-6.96483 -9.330483,-11.11157 -14.199423,-6.66819 -1.85332,1.69132 -1.95918,2.13244 -1.38958,5.79085 0.61654,3.96003 0.61654,3.96003 -1.24961,2.44327 -2.90266,-2.35916 -6.21982,-8.78924 -6.18394,-11.98706 0.0172,-1.51852 0.37592,-2.72755 0.79754,-2.68678 0.42156,0.0412 1.66725,0.23263 2.76814,0.42633 4.56947,0.80411 6.51983,-6.00591 2.49909,-8.72607 -5.34781,-3.61797 -9.61732,0.51522 -10.99861,10.64773 -0.64157,4.70608 -0.64157,4.70608 -1.89784,1.43361 -1.21813,-3.17313 -2.73055,-18.00433 -1.93027,-18.92853 0.21229,-0.24516 1.28702,-0.10939 2.38815,0.29846 2.8605,1.06307 6.54574,-0.43975 7.59606,-3.09784 2.51345,-6.36045 -5.66385,-9.51594 -10.90101,-4.20652 -1.31813,1.3363 -2.95566,3.79856 -3.63899,5.47174 -0.68333,1.67317 -1.40161,2.90424 -1.59618,2.73578 -0.19456,-0.16849 -0.28497,-2.49636 -0.20076,-5.17309 0.1499,-4.7688 2.12054,-10.94051 4.74327,-14.85519 1.24347,-1.85598 1.24347,-1.85598 3.32656,-0.052 2.78965,2.4157 6.03669,2.17606 7.90355,-0.58191 1.827,-2.70049 1.65119,-4.21934 -0.74791,-6.46183 -1.50846,-1.41001 -2.67146,-1.78541 -5.01058,-1.61738 -3.81357,0.27397 -6.57176,1.9432 -10.85749,6.57085 -3.36245,3.63067 -3.36245,3.63067 -2.52906,0.58951 2.21324,-8.07635 7.28518,-15.04111 13.33426,-18.31043 4.44557,-2.40272 4.81438,-2.3351 4.67223,0.85628 -0.13979,3.13873 1.43474,4.62793 4.64901,4.39702 3.13502,-0.22522 5.08721,-2.32662 4.87719,-5.25004 -0.38065,-5.29866 -7.13306,-7.72028 -17.71096,-6.35165 -6.50833,0.84209 -6.50833,0.84209 -3.58132,-2.00156 1.60984,-1.56401 4.96363,-3.98703 7.45283,-5.38449 3.90148,-2.19032 5.44147,-2.61661 11.16298,-3.08989 6.30438,-0.52159 9.5572,0.13112 7.62076,1.52907 -1.25624,0.90694 -0.56568,5.33052 1.02662,6.57613 1.99217,1.55847 5.8559,1.14884 7.543253,-0.79975 1.88101,-2.17217 1.46453,-6.27003 -1.107383,-10.89547 -1.67465,-3.01181 -2.86261,-4.1061 -6.19022,-5.70204 -2.26481,-1.08623 -5.63929,-2.06714 -7.49879,-2.17978 -5.27355,-0.31951 -5.9922,-0.84356 -2.36941,-1.72778 10.02481,-2.4468 21.029743,-1.79289 27.069773,1.60874 3.65311,2.05724 4.38797,3.43246 2.26967,4.24737 -2.68273,1.03203 -4.04628,2.957 -3.86657,5.45854 0.35142,4.89183 5.85195,6.0712 9.91149,2.12514 2.85708,-2.77717 3.99496,-6.18667 3.65306,-10.94595 -0.36215,-5.04116 -1.87283,-7.70442 -6.82193,-12.02679 -2.28287,-1.99375 -3.77786,-3.65179 -3.32218,-3.68452 1.79576,-0.12901 11.44534,4.48154 15.88921,7.59183 5.0312,3.52138 8.879714,8.18427 9.934774,12.03715 0.639668,2.3359 0.600304,2.38552 -2.042718,2.5754 -3.623626,0.26031 -5.517566,2.51132 -5.249736,6.2395 0.25891,3.60418 2.16256,5.19137 5.904027,4.9226 6.766438,-0.48608 10.419813,-12.1423 6.790847,-21.66639 -1.482674,-3.89115 -1.066845,-4.24732 1.81796,-1.55709 5.321499,4.96259 9.890059,14.72127 10.433537,22.28659 0.354621,4.93639 0.354621,4.93639 -1.729854,4.52598 -3.330231,-0.65566 -5.697764,-0.0706 -6.975308,1.72361 -2.532072,3.5562 0.09443,8.1361 4.485034,7.82069 1.59925,-0.11488 2.987776,-1.03493 4.907386,-3.25169 2.488883,-2.87415 3.770522,-6.28818 4.791722,-12.76419 0.357549,-2.2675 0.357549,-2.2675 1.191854,-0.47598 1.333111,2.86257 1.974213,16.20892 0.991718,20.64501 -0.874568,3.9487 -0.874568,3.9487 -4.592135,3.77695 -4.36522,-0.20168 -5.911008,0.87127 -5.689879,3.94943 0.199984,2.78381 2.106969,4.29417 5.146124,4.07585 3.226879,-0.23182 6.282251,-3.19742 9.549536,-9.26897 2.51581,-4.67508 2.51581,-4.67508 2.706385,-2.12108 0.533213,7.14723 -3.362012,19.69467 -9.168776,29.53408 -3.77617,6.39865 -17.356663,21.73474 -19.37772,21.88277 -2.203292,0.1613 -16.863828,-4.0849 -22.396098,-6.4868 -7.36044,-3.19561 -14.57066,-9.49333 -17.04164,-14.88488 -5.818683,-12.69613 0.30481,-26.67981 12.13394,-27.70915 4.83488,-0.42082 8.29342,1.44426 10.37307,5.59357 2.17849,4.34656 1.77057,7.95229 -1.33429,11.79448 -2.35236,2.911 -2.07355,0.48982 -2.07355,0.48982 -4.75563,-3.2338 -4.77678,-8.84507 -9.94032,-6.89456 -5.66831,2.14121 -3.10145,11.50322 2.77111,14.57442 8.71182,4.55608 18.85644,-0.87657 21.386887,-11.45311 2.183662,-9.12719 -4.472697,-20.86212 -13.566197,-23.91669 -10.20448,-3.42776 -24.191953,4.99791 -29.029373,17.48647 -2.66689,6.88494 -2.53818,15.08612 0.34595,22.04377 5.01441,12.09675 18.269113,23.72014 31.283363,27.43319 4.66501,1.33096 9.430696,-2.25497 6.70571,0.48371 -3.47792,3.49535 -14.55683,10.87994 -19.88921,12.68572 -5.17909,1.75383 -15.570503,2.47946 -20.853573,1.45627 z"
id="path880"
inkscape:connector-curvature="0"
inkscape:transform-center-x="14.678137"
inkscape:transform-center-y="-4.6818479"
sodipodi:nodetypes="cccccscccccscsccccccccccsccccscsscccccccccccccccccscscsccscccsccccscccccsccccscccsccscccc"
transform="rotate(-23.482803,81.584883,242.8189)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

View File

@ -0,0 +1,77 @@
% Copyright (C) 2018-2019 Pasquale Claudio Africa and the LaTeX community.
% A full list of contributors can be found at
%
% https://github.com/elauksap/focus-beamertheme
%
% This file is part of beamerthemefocus.
%
% beamerthemefocus is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% beamerthemefocus is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with beamerthemefocus. If not, see <http://www.gnu.org/licenses/>.
\mode<presentation>
% DEFINE COLORS. ---------------------------------------------------------------
\definecolor{main}{RGB}{83, 31, 117}
\definecolor{textcolor}{RGB}{0, 0, 0}
\definecolor{background}{RGB}{83, 31, 117}
%\definecolor{background}{RGB}{215, 212, 227}
\definecolor{alert}{RGB}{180, 0, 0}
\definecolor{example}{RGB}{0, 110, 0}
% SET COLORS. ------------------------------------------------------------------
\setbeamercolor{normal text}{fg=textcolor, bg=background}
\setbeamercolor{alerted text}{fg=alert}
\setbeamercolor{example text}{fg=example}
\setbeamercolor{titlelike}{fg=background, bg=main}
\setbeamercolor{frametitle}{parent={titlelike}}
\setbeamercolor{footline}{fg=background, bg=main}
\setbeamercolor{block title}{bg=main!80!background, fg=background}
\setbeamercolor{block body}{bg=main!10!background, fg=main}
\setbeamercolor{block title alerted}{bg=alert, fg=background}
\setbeamercolor{block body alerted}{bg=alert!10!background, fg=main}
\setbeamercolor{block title example}{bg=example, fg=background}
\setbeamercolor{block body example}{bg=example!10!background, fg=main}
\setbeamercolor{itemize item}{fg=main}
\setbeamercolor{itemize subitem}{fg=main}
\setbeamercolor{enumerate item}{fg=main!70!black}
\setbeamercolor{enumerate subitem}{fg=main!70!black}
\setbeamercolor{description item}{fg=main!70!black}
\setbeamercolor{description subitem}{fg=main!70!black}
\setbeamercolor{caption name}{fg=textcolor}
\setbeamercolor{section in toc}{fg=textcolor}
\setbeamercolor{subsection in toc}{fg=textcolor}
\setbeamercolor{section number projected}{bg=textcolor}
\setbeamercolor{subsection number projected}{bg=textcolor}
\setbeamercolor{bibliography item}{fg=main}
\setbeamercolor{bibliography entry author}{fg=main!70!black}
\setbeamercolor{bibliography entry title}{fg=main}
\setbeamercolor{bibliography entry location}{fg=main}
\setbeamercolor{bibliography entry note}{fg=main}
\mode<all>

View File

@ -0,0 +1,50 @@
% Copyright (C) 2018-2019 Pasquale Claudio Africa and the LaTeX community.
% A full list of contributors can be found at
%
% https://github.com/elauksap/focus-beamertheme
%
% This file is part of beamerthemefocus.
%
% beamerthemefocus is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% beamerthemefocus is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with beamerthemefocus. If not, see <http://www.gnu.org/licenses/>.
\mode<presentation>
% SET FONTS. -------------------------------------------------------------------
\setbeamerfont{title}{size=\Large, shape=\bfseries}
\setbeamerfont{subtitle}{size=\normalsize, parent=structure}
\setbeamerfont{author}{size=\scriptsize}
\setbeamerfont{institute}{size=\normalsize}
\setbeamerfont{date}{size=\scriptsize}
\setbeamerfont{sectiontitle}{size=\huge, series=\scshape\bfseries}
\setbeamerfont{frametitle}{size=\Large, shape=\scshape}
\setbeamerfont{footline}{size=\scriptsize}
\setbeamerfont{focusframe}{size=\huge, shape=\scshape}
\setbeamerfont{description item}{size=\normalsize, shape=\bfseries}
\setbeamerfont{caption name}{shape=\bfseries}
\setbeamerfont{bibliography item}{size=\small, shape=\scshape}
\setbeamerfont{bibliography entry author}{size=\small, shape=\scshape}
\setbeamerfont{bibliography entry title}{size=\small, series=\scshape\bfseries}
\setbeamerfont{bibliography entry location}{size=\small, shape=\scshape\normalfont}
\setbeamerfont{bibliography entry note}{size=\small, shape=\scshape\normalfont}
\mode<all>

View File

@ -0,0 +1,113 @@
% Copyright (C) 2018-2019 Pasquale Claudio Africa and the LaTeX community.
% A full list of contributors can be found at
%
% https://github.com/elauksap/focus-beamertheme
%
% This file is part of beamerthemefocus.
%
% beamerthemefocus is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% beamerthemefocus is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with beamerthemefocus. If not, see <http://www.gnu.org/licenses/>.
\mode<presentation>
\RequirePackage{tikz}
% CUSTOMIZE STRUCTURE ELEMENTS. ------------------------------------------------
\setbeamertemplate{blocks}[default]
\setbeamertemplate{section in toc}[square]
\setbeamertemplate{subsection in toc}[square]
\setbeamertemplate{itemize items}[square]
\setbeamertemplate{itemize subitem}[triangle]
% STRUCTURE FRAME TEMPLATE DEFINITIONS. ----------------------------------------
% Title page.
\defbeamertemplate*{title page}{focus}{%
{%
\usebeamercolor{frametitle}\colorlet{focus@@temp}{bg}%
\begin{tikzpicture}[overlay, remember picture]
\fill[color=focus@@temp] (current page.north west) rectangle ([shift = {(0, -0.45\paperheight)}] current page.north east);
\end{tikzpicture}
}
\vspace{-2.65\baselineskip}
\begin{minipage}[b][0.35\paperheight]{\textwidth}
\vspace{\baselineskip}
\usebeamerfont{title}
\usebeamercolor[fg]{frametitle}
\inserttitle
\end{minipage}
\begin{minipage}[t][0.1\paperheight]{\textwidth}
\usebeamerfont{subtitle}
\usebeamercolor[fg]{frametitle}
\insertsubtitle
\end{minipage}
% Set the title graphic in a zero-height box, so that
% the position of other elements is not affected.
{\vfuzz=9999pt\vbox to 0pt {
\raggedleft
\inserttitlegraphic
}}
\begin{minipage}[t]{\textwidth}
\usebeamerfont{author}
\insertauthor
\end{minipage}
\vspace*{\baselineskip}
\begin{minipage}[t]{\textwidth}
\usebeamerfont{institute}
\insertinstitute
\end{minipage}
\vspace*{\baselineskip}
\begin{minipage}[t]{\textwidth}
\usebeamerfont{date}{\insertdate}
\end{minipage}
\vspace*{0pt plus 100fill}
\addtocounter{framenumber}{-1}
}
% Section page.
\defbeamertemplate*{section page}{focus}{%
{%
\usebeamercolor{frametitle}\colorlet{focus@@temp}{bg}%
\begin{tikzpicture}[overlay, remember picture]
\fill[color=focus@@temp] (current page.north west) rectangle ([shift = {(0, -0.45\paperheight)}] current page.north east);
\end{tikzpicture}%
}
\vspace{-2.5\baselineskip}
\begin{minipage}[b][0.45\paperheight]{\textwidth}
\usebeamerfont{sectiontitle}
\usebeamercolor[fg]{frametitle}
\let\hyperlink\@secondoftwo\insertsection
\end{minipage}
\vspace*{0pt plus 100fill}
}
\AtBeginSection[]{%
\begin{frame}[plain, noframenumbering]{}
\sectionpage
\end{frame}%
}
\mode<all>

View File

@ -0,0 +1,270 @@
% Copyright (C) 2018-2019 Pasquale Claudio Africa and the LaTeX community.
% A full list of contributors can be found at
%
% https://github.com/elauksap/focus-beamertheme
%
% This file is part of beamerthemefocus.
%
% beamerthemefocus is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% beamerthemefocus is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with beamerthemefocus. If not, see <http://www.gnu.org/licenses/>.
\mode<presentation>
\RequirePackage{appendixnumberbeamer} % Don't number appendix frames.
% Fix hyperref warning caused by \appendix
% (https://tex.stackexchange.com/questions/192686/hyperref-warning-caused-by-beamer-appendix).
\newcommand*{\bkmtranslateto}{\languagename}
\newcommand*{\bkmtranslate}[1]{%
\ifcsname tr@@@\bkmtranslateto @#1\endcsname
\csname tr@@@\bkmtranslateto @#1\endcsname
\else
#1%
\fi
}
\pdfstringdefDisableCommands{\let\translate\bkmtranslate}
\RequirePackage{bookmark}
\RequirePackage{etoolbox} % \BeforeBeginEnvironment.
\RequirePackage{tikz}
% FRAMETITLE TEMPLATES. --------------------------------------------------------
\defbeamertemplate*{frametitle}{focus}{%
% If not title page.
\ifnum\value{framenumber}>0%
\vspace{-1pt}%
\begin{beamercolorbox}[wd=\paperwidth,leftskip=0.55cm,rightskip=0.55cm,sep=0.2cm]{frametitle}%
\strut\insertframetitle\strut%
\end{beamercolorbox}%
\fi%
}
% Plain header.
\defbeamertemplate{frametitle}{plain}{%
% If not title page.
\ifnum\value{framenumber}>0%
\vspace{-1pt}%
\begin{beamercolorbox}[wd=\paperwidth,leftskip=0.55cm,rightskip=0.55cm,sep=0.2cm,ignorebg]{frametitle}%
\strut%
\end{beamercolorbox}%
\fi%
}
% FOOTLINE TEMPLATES. ----------------------------------------------------------
% Lenghts for the progress bar footline.
\newlength{\focus@pbar@height}% Progress bar height.
\newlength{\focus@pbar@leftoffset}
\newlength{\focus@pbar@rightoffset}
\defbeamertemplate*{footline}{progressbar}{%
% If not appendix.
\ifnum\mainend<0% From package appendixnumberbeamer.
%
\settowidth{\focus@pbar@leftoffset}{1}%
\addtolength{\focus@pbar@leftoffset}{1.5em}%
%
\settowidth{\focus@pbar@rightoffset}{\inserttotalframenumber}%
\addtolength{\focus@pbar@rightoffset}{1.5em}%
%
% If not title page.
\ifnum\c@framenumber>0%
\ifnum\c@framenumber<\inserttotalframenumber%
\begin{tikzpicture}[inner xsep=0.5em, inner ysep=0.5ex]\usebeamerfont{footline}
\pgfmathsetmacro{\focus@pbar@progress}%
{(\paperwidth-\focus@pbar@leftoffset-\focus@pbar@rightoffset)*(\insertframenumber/\inserttotalframenumber)}
\clip (0,0) rectangle ++(\paperwidth,\the\focus@pbar@height);
\fill[footline.bg] (0,0) rectangle ++(\the\focus@pbar@leftoffset,\the\focus@pbar@height);
\fill[footline.bg] (\the\focus@pbar@leftoffset,0) rectangle ++(\focus@pbar@progress pt,\the\focus@pbar@height)
++(0,{-0.5*\the\focus@pbar@height}) node[anchor=east, text=footline.fg] {\strut\insertframenumber};
\fill[footline.bg] (\paperwidth,0) rectangle ++(-\the\focus@pbar@rightoffset,\the\focus@pbar@height)
++(0,{-0.5*\the\focus@pbar@height}) node[anchor=west, text=footline.fg] {\strut\inserttotalframenumber};
\end{tikzpicture}%
\else%
\begin{tikzpicture}[inner xsep=0.5em, inner ysep=0.5ex]
\clip (0,0) rectangle ++(\paperwidth,\the\focus@pbar@height);
\fill[footline.bg] (0,0) rectangle ++(\paperwidth,\the\focus@pbar@height);
\node[anchor=east, footline.fg] at ({\paperwidth-\the\focus@pbar@rightoffset},{0.5*\focus@pbar@height}) {\strut\insertframenumber};
\node[footline.fg] at ({\paperwidth-\the\focus@pbar@rightoffset},{0.5*\focus@pbar@height}) {\strut/};
\node[anchor=west, footline.fg] at ({\paperwidth-\the\focus@pbar@rightoffset},{0.5*\focus@pbar@height}) {\strut\inserttotalframenumber};
\end{tikzpicture}%
\fi%
\fi%
\fi%
}
% Full bar footline.
\defbeamertemplate{footline}{fullbar}{%
% If not appendix.
\ifnum\mainend<0% From package appendixnumberbeamer.
%
\settowidth{\focus@pbar@leftoffset}{1}%
\addtolength{\focus@pbar@leftoffset}{1.5em}%
%
\settowidth{\focus@pbar@rightoffset}{\inserttotalframenumber}%
\addtolength{\focus@pbar@rightoffset}{1.5em}%
%
% If not title page.
\ifnum\c@framenumber>0%
\begin{tikzpicture}[inner xsep=0.5em, inner ysep=0.5ex]
\clip (0,0) rectangle ++(\paperwidth,\the\focus@pbar@height);
\fill[footline.bg] (0,0) rectangle ++(\paperwidth,\the\focus@pbar@height);
\node[anchor=east, footline.fg] at ({\paperwidth-\the\focus@pbar@rightoffset},{0.5*\focus@pbar@height}) {\strut\insertframenumber};
\node[footline.fg] at ({\paperwidth-\the\focus@pbar@rightoffset},{0.5*\focus@pbar@height}) {\strut/};
\node[anchor=west, footline.fg] at ({\paperwidth-\the\focus@pbar@rightoffset},{0.5*\focus@pbar@height}) {\strut\inserttotalframenumber};
\end{tikzpicture}%
\fi%
\fi%
}
% Empty footline.
\defbeamertemplate{footline}{none}{}
\DeclareOptionBeamer{numbering}{\def\beamer@focus@numbering{#1}}
\ExecuteOptionsBeamer{numbering=progressbar}
\ProcessOptionsBeamer
\def\beamer@focus@numberingprogressbar{progressbar}
\def\beamer@focus@numberingfullbar{fullbar}
\def\beamer@focus@numberingnone{none}
% BACKGROUND CANVAS TEMPLATES. -------------------------------------------------
\defbeamertemplate*{background canvas}{focus}{%
\begin{tikzpicture}
\clip (0,0) rectangle ++(\paperwidth,\paperheight);
\fill[normal text.bg] (0,0) rectangle ++(\paperwidth,\paperheight);
\end{tikzpicture}%
}
\defbeamertemplate{background canvas}{focusplain}{%
\begin{tikzpicture}
\clip (0,0) rectangle ++(\paperwidth,\paperheight);
\fill[normal text.bg] (0,0) rectangle ++(\paperwidth,\paperheight);
\end{tikzpicture}%
}
\defbeamertemplate{background canvas}{focusframe}{%
\begin{tikzpicture}
\clip (0,0) rectangle ++(\paperwidth,\paperheight);
\fill[frametitle.bg] (0,0) rectangle ++(\paperwidth,\paperheight);
\end{tikzpicture}%
}
% HOOKS FOR CREATING FRAMES. ---------------------------------------------------
\BeforeBeginEnvironment{frame}{%
\setbeamertemplate{background canvas}[focus]%
\setbeamertemplate{frametitle}[focus]%
%
% Reset footline height and determine it for the current slide.
\setlength{\focus@pbar@height}{0cm}%
\focus@calculatefootheight%
%
% If not appendix.
\ifnum\mainend<0 % From package appendixnumberbeamer.
\settoheight{\focus@pbar@height}{\usebeamerfont{footline}1234567890/}%
\addtolength{\focus@pbar@height}{6pt}%
%
\ifx\beamer@focus@numbering\beamer@focus@numberingprogressbar%
\setbeamertemplate{footline}[progressbar]%
\else%
\ifx\beamer@focus@numbering\beamer@focus@numberingfullbar%
\setbeamertemplate{footline}[fullbar]%
\fi%
\fi%
%
\focus@calculatefootheight%
\fi%
}
% Enable noframenumbering option.
\define@key{beamerframe}{noframenumbering}[true]{%
\setbeamertemplate{footline}[none]%
\setlength{\focus@pbar@height}{0cm}%
\focus@calculatefootheight%
%
\addtocounter{framenumber}{-1}%
}
% Enable plain option.
\define@key{beamerframe}{plain}[true]{%
\setbeamertemplate{background canvas}[focusplain]%
\setbeamertemplate{frametitle}[plain]%
%
\setbeamertemplate{footline}[none]%
}
% Full vertical centering
% (from https://tex.stackexchange.com/questions/247826/beamer-full-vertical-centering).
\define@key{beamerframe}{c}[true]{%
\beamer@frametopskip=0pt plus 1fill\relax%
\beamer@framebottomskip=0pt plus 1fill\relax%
\beamer@frametopskipautobreak=0pt plus 0.4\paperheight\relax%
\beamer@framebottomskipautobreak=0pt plus 0.6\paperheight\relax%
\def\beamer@initfirstlineunskip{}%
}
% Enable focus option.
\providebool{focus@standout}
\define@key{beamerframe}{focus}[true]{%
\booltrue{focus@standout}%
\begingroup%
\setkeys{beamerframe}{noframenumbering}%
\setbeamertemplate{background canvas}[focusframe]%
\setbeamertemplate{frametitle}[plain]%
%
\setkeys{beamerframe}{c}%
\centering%
\usebeamerfont{focusframe}%
\usebeamercolor[fg]{frametitle}%
}
\apptocmd{\beamer@reseteecodes}
{%
\ifbool{focus@standout}%
{%
\endgroup%
\boolfalse{focus@standout}%
}{}%
}{}{}
% Recalculate the footline's size and refresh other parameters.
% Partially copied from the definition of \beamer@calculateheadfoot.
\def\focus@calculatefootheight{%
\footheight=\focus@pbar@height%
\advance\footheight by 4pt%
\sidebarheight=\paperheight%
\advance\sidebarheight by-\headheight%
\advance\sidebarheight by\headdp%
\advance\sidebarheight by-\footheight%
\advance\sidebarheight by 4pt%
\footskip=\footheight%
\textheight=\paperheight%
\advance\textheight by-\footheight%
\advance\textheight by-\headheight%
\@colht\textheight%
\@colroom\textheight%
\vsize\textheight%
}
\mode<all>

View File

@ -0,0 +1,62 @@
% Copyright (C) 2018-2019 Pasquale Claudio Africa and the LaTeX community.
% A full list of contributors can be found at
%
% https://github.com/elauksap/focus-beamertheme
%
% This file is part of beamerthemefocus.
%
% beamerthemefocus is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% beamerthemefocus is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with beamerthemefocus. If not, see <http://www.gnu.org/licenses/>.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerthemefocus}[2019/01/18 v2.3 Focus Beamer theme]
\mode<presentation>
% THEME OPTIONS. ---------------------------------------------------------------
\DeclareOptionBeamer{numbering}{%
\PassOptionsToPackage{numbering=#1}{beamerouterthemefocus}
}
\newif\if@focus@loadfirafonts
\@focus@loadfirafontstrue
\DeclareOptionBeamer{nofirafonts}{\@focus@loadfirafontsfalse}
\ProcessOptionsBeamer
% LOAD EXTERNAL PACKAGES. ------------------------------------------------------
\if@focus@loadfirafonts
\RequirePackage[T1]{fontenc}
\PassOptionsToPackage{type1}{FiraSans}
\PassOptionsToPackage{type1}{FiraMono}
\RequirePackage{FiraSans}
\RequirePackage{FiraMono}
\fi
\usecolortheme{focus}
\usefonttheme{focus}
\useinnertheme{focus}
\useoutertheme{focus}
\setbeamertemplate{navigation symbols}{}
% SET MARGINS. -----------------------------------------------------------------
\setbeamersize{text margin left=0.75cm, text margin right=0.75cm}
\setlength{\leftmargini}{0.75cm}
\mode<all>