Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ATT&CKcon Sponsors Sidebar #478

Merged
merged 6 commits into from
Dec 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 23 additions & 1 deletion attack-theme/static/style/_layouts.scss
Original file line number Diff line number Diff line change
Expand Up @@ -578,6 +578,10 @@ pre {
width: 75%;
}

.card-attackcon {
width: 90%;
}

.card-data {
margin-bottom: rem(0.2);
}
Expand Down Expand Up @@ -845,6 +849,15 @@ pre {
}
}

.attackcon-columns {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: flex-start;
}

/* Ensure the sponsors block is below and not affected by the top image */

/*Card Blocks*/
// container of groups of cards
.card-block {
Expand Down Expand Up @@ -1133,17 +1146,26 @@ div#sidebars {
/* attackcon page */
.attackcons {
border-top-width: 0px;
.sponsors{
flex: 1;
padding-left: 15px;
}
.sponsors-block {
background: #efefef;
text-align: center;
display: flex;
justify-content: space-evenly;
flex-wrap: wrap;
flex-direction: column;
width: 200%;
.img-container {
margin: 10px;
flex: 1 1 20%;
box-sizing: border-box;
img {
width: 80%;
width: 100%;
margin: auto;
height: auto;
}
}
}
Expand Down
198 changes: 104 additions & 94 deletions attack-theme/templates/general/attackcon-overview.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{% extends "general/two-column.html" %}
{% extends "general/two-column.html" %}
{% set active_page = "resources" -%}
{% set title = "MITRE ATT&CKcon - " + page.title + " | MITRE ATT&CK®" -%}
{% set con = page.data | from_json %}
Expand All @@ -10,114 +10,121 @@

{% block innerright %}
{{ super () }}
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/">Home</a></li>
<li class="breadcrumb-item"><a href="/resources">Resources</a></li>
<li class="breadcrumb-item"><a href="/resources/attackcon">ATT&CKcon</a></li>
<li class="breadcrumb-item">{{ con.title }}</a></li>
</ol>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/">Home</a></li>
<li class="breadcrumb-item"><a href="/resources">Resources</a></li>
<li class="breadcrumb-item"><a href="/resources/attackcon">ATT&CKcon</a></li>
<li class="breadcrumb-item">{{ con.title }}</a></li>
</ol>

<div class="tab-content attackcons p-4 mb-3">
{% set conID = "-".join(con.date.split(' ')) %}
<div class="container pb-3 uniform-block">
{% if "banner_img" in con %}
<p>
<img src="{{ con.banner_img }}" width="100%">
</p>
{% endif %}
<div class="tab-content attackcons p-4 mb-3">
{% set conID = "-".join(con.date.split(' ')) %}
<div class="container pb-3 uniform-block">
{% set ifSponsor = "sponsors_img_list" in con %}
{% if "banner_img" in con %}
<p>
<img src="{{ con.banner_img }}" {% if ifSponsor %} width="90%" {% else %} width="100%" {% endif %}>
</p>
{% endif %}

{% if "description" in con %}
<p>{{con.description}}</p>
{% endif %}
{% if "blogpost" in con %}
<p><a target="_blank" href="{{con.blogpost}}">Click here to read our blog post about {{con.title}}! <img src="/theme/images/external-site-dark.jpeg" alt="External site" class="external-icon"></a></p>
{% endif %}
<br>
<div class="presentations card-block" id="presentations">
<input type="text" class="searchPresentation" id="searchPresentation" onkeyup="searchPresentation()" placeholder="Search Presentations">
{% if "description" in con %}
<p>{{con.description}}</p>
{% endif %}
{% if "blogpost" in con %}
<p><a target="_blank" href="{{con.blogpost}}">Click here to read our blog post about {{con.title}}! <img
src="/theme/images/external-site-dark.jpeg" alt="External site" class="external-icon"></a></p>
{% endif %}
<br>
<div class="attackcon-columns">
<div class="presentations card-block {% if ifSponsor %} card-attackcon {% endif %}" id="presentations">
<input type="text" class="searchPresentation" id="searchPresentation" onkeyup="searchPresentation()"
placeholder="Search Presentations">
<h5><strong>Presentations</strong></h5>
<h6 class="presentation-count"></h6>
{% for presentation in con.presentations %}
{% set isPanel = "moderator" in presentation %}
<div class="card w-100 card-presentation">
<div>
<div class="card-body">
<strong>
<div class="title">
{{ presentation.title }}
</div>
</strong>
<p></p>
<div class="date">
{% if not isPanel %}
{% for presenterGroup in presentation.presenters %}{% if loop.index > 1 %}; {% endif %}{{ " and ".join(presenterGroup.names)}}{% if "organization" in presenterGroup %}, {{presenterGroup.organization}}{% endif %}{% endfor %}
{% else %}
Moderated by {{presentation.moderator.name}}, {{presentation.moderator.organization}}
{% endif %}
</div>
<p></p>
<div class="timeline-card-body">
{% if not isPanel %}
{{presentation.description}}
{% else %}
Panelists:
<ul>
{% for panelist in presentation.panelists %}
<li>
{{panelist}}
</li>
{% endfor %}
</ul>
{{presentation.moderator.name}} moderates a panel that discusses:</p>
<ul>
{% for topic in presentation.topics %}
<li>
{{topic}}
</li>
{% endfor %}
</ul>
{% endif %}
</div>
<p></p>
<div class="date">
{% if "video" in presentation %}
<a href="{{ presentation.video }}">
<button type="button" class="slide-button">
<span class="slide-button-text">
<span>Recording</span>
</span>
<span class="slide-button-icon">
<i class="fa fa-external-link"></i>
</span>
</button>
</a>
{% endif %}
{% if "slides" in presentation %}
<a href="{{ presentation.slides }}">
<button type="button" class="slide-button slide-button-secondary">
<span class="slide-button-text">
<span>Slide Deck</span>
</span>
<span class="slide-button-icon">
<i class="fa fa-external-link"></i>
</span>
</button>
</a>
{% endif %}
<div class="card card-presentation">
<div>
<div class="card-body">
<strong>
<div class="title">
{{ presentation.title }}
</div>
</strong>
<p></p>
<div class="date">
{% if not isPanel %}
{% for presenterGroup in presentation.presenters %}{% if loop.index > 1 %}; {% endif
%}{{ " and ".join(presenterGroup.names)}}{% if "organization" in presenterGroup %},
{{presenterGroup.organization}}{% endif %}{% endfor %}
{% else %}
Moderated by {{presentation.moderator.name}}, {{presentation.moderator.organization}}
{% endif %}
</div>
<p></p>
<div class="timeline-card-body">
{% if not isPanel %}
{{presentation.description}}
{% else %}
Panelists:
<ul>
{% for panelist in presentation.panelists %}
<li>
{{panelist}}
</li>
{% endfor %}
</ul>
{{presentation.moderator.name}} moderates a panel that discusses:</p>
<ul>
{% for topic in presentation.topics %}
<li>
{{topic}}
</li>
{% endfor %}
</ul>
{% endif %}
</div>
<p></p>
<div class="date">
{% if "video" in presentation %}
<a href="{{ presentation.video }}">
<button type="button" class="slide-button">
<span class="slide-button-text">
<span>Recording</span>
</span>
<span class="slide-button-icon">
<i class="fa fa-external-link"></i>
</span>
</button>
</a>
{% endif %}
{% if "slides" in presentation %}
<a href="{{ presentation.slides }}">
<button type="button" class="slide-button slide-button-secondary">
<span class="slide-button-text">
<span>Slide Deck</span>
</span>
<span class="slide-button-icon">
<i class="fa fa-external-link"></i>
</span>
</button>
</a>
{% endif %}
</div>
</div>
</div>
</div>
{% endfor %}
</div>
{% if "sponsors_img" in con %}
<div class="sponsors">
{% if "sponsors_img" in con %}
<div>
<h2>Sponsors</h2>
<h5><strong>Sponsors</strong></h5>
<img src="{{ con.sponsors_img }}" width="100%">
</div>
{% elif "sponsors_img_list" in con %}
{% elif "sponsors_img_list" in con %}
<div>
<h2>Sponsors</h2>
<h5><strong>Sponsors</strong></h5>
<div class="sponsors-block">
{% for sponsor_img in con.sponsors_img_list %}
<div class="img-container">
Expand All @@ -126,9 +133,12 @@ <h2>Sponsors</h2>
{% endfor %}
</div>
</div>
{% endif %}
{% endif %}
</div>
</div>
</div>

</div>
{% endblock %}

<!--startindex-->
Expand Down
12 changes: 11 additions & 1 deletion data/attackcon.json
Original file line number Diff line number Diff line change
Expand Up @@ -1251,7 +1251,17 @@
"description": "Thank you for all the passion and engagement that made ATT&CKcon such a success. Over 250 of you joined us in person at MITRE’s McLean campus for our first ever event that was live streamed to more than 1,000 people at its peak. Our videos have been viewed over 10,000 times already, and there’s a lot of energy around the community to keep improving the ATT&CK framework. Please continue to watch and share these presentations.",
"blogpost": "https://medium.com/mitre-attack/attackcon-2018-501d62566233",
"banner_img": "/theme/images/attckcon-banner.jpg",
"sponsors_img": "/theme/images/ATTACKcon-sponsors-final.jpg",
"sponsors_img_list": [
"/theme/images/attackcon2018-sponsors/mcafee.png",
"/theme/images/attackcon2018-sponsors/attackiq.png",
"/theme/images/attackcon2018-sponsors/endgame.png",
"/theme/images/attackcon2018-sponsors/tripwire.png",
"/theme/images/attackcon2018-sponsors/safebreach.png",
"/theme/images/attackcon2018-sponsors/crowdstrike.png",
"/theme/images/attackcon2018-sponsors/redcanary.png",
"/theme/images/attackcon2018-sponsors/verodin.png"

],
"presentations": [
{
"title": "Advancing Infosec, Keynote Presentation",
Expand Down