<div class="alert">
<i class="icon-mic text-lg"></i>
<span>Enjoy Podcasts? Privacy YouTuber "TheHatedOne" and I got together to discuss this topic in-depth.</span>
</div>
.alert {
@apply bg-gray-500;
@apply text-white;
@apply text-sm;
@apply py-5;
@apply px-9;
@apply rounded-md;
@apply flex;
@apply break-words;
@apply w-full;
@apply space-x-4;
@apply items-center;
@apply justify-center;
}
<div class="alert-primary">
<i class="icon-mic text-lg"></i>
<span>Enjoy Podcasts? Privacy YouTuber "TheHatedOne" and I got together to discuss this topic in-depth.</span>
</div>
.alert-primary>.link {
@apply text-white;
}
<button class="btn">Take back your freedom</button>
.btn {
@apply px-10;
padding-top : 0.8rem;
padding-bottom: 0.8rem;
@apply bg-gray-500;
@apply rounded-full;
@apply uppercase;
@apply font-semibold;
@apply text-white;
@apply text-center;
@apply text-xs;
@apply inline-flex;
@apply items-center;
@apply leading-normal;
@apply whitespace-normal;
@apply cursor-pointer;
/* @apply hover-scale-in; */
}
.btn[disabled],
.btn[disabled],
.btn[disabled],
.btn[disabled] {
@apply bg-safing-gray-100;
@apply text-safing-gray-400;
@apply cursor-not-allowed;
}
.btn[disabled] i,
.btn[disabled] i,
.btn[disabled] i,
.btn[disabled] i {
@apply text-safing-gray-400;
}
.btn[disabled]:hover,
.btn[disabled]:hover,
.btn[disabled]:hover,
.btn[disabled]:hover {
@apply transform;
@apply scale-100;
}
.btn i,
.btn i,
.btn i,
.btn i {
@apply align-baseline;
}
<button class="btn-primary">Take back your freedom</button>
.btn-primary {
@apply btn;
@apply bg-safing-blue-500;
}
The Assignment:
Revisit the RSS feeds for the blog, the podcast and maybe even the newsletter. We'll see. Make them work.
<div class="card">
<label class="card-label" for="card-toggle-anchor-2">
<div class="wrapper-left">
<div class="tag-list">
<span class="tag-spn">
SPN
</span>
</div>
<div class="card-title">
<i class="icon-tick text-green-500"></i>
<h1 class="title">Create RSS Feeds</h1>
</div>
</div>
<div class="wrapper-right">
<div class="circular-profile" tooltip="David">
<img src="https://safing.io/assets/img/profiles/david.png">
</div>
<i class="icon-arrow"></i>
</div>
</label>
<input class="card-input-toggle" id="card-toggle-anchor-2" type="checkbox">
<div class="card-dropdown-toggle">
<div class="card-dropdown-content">
<p>The Assignment:</p>
<br>
<p>Revisit the RSS feeds for the blog, the podcast and maybe even the newsletter. We'll see. Make them work.</p>
</div>
</div>
</div>
.card,
.card-extended {
@apply h-max ;
@apply max-w-7xl;
@apply block;
@apply text-white ;
@apply rounded-lg;
@apply bg-white ;
@apply card-shadow;
}
.card-extended .card {
border-bottom: solid 1px rgba(0, 0, 0, 0.15);
border-top: solid 1px rgba(0, 0, 0, 0.15);
@apply rounded-none;
margin-bottom: 2.5rem;
}
.card-extended > .card-label,
.card > .card-label {
@apply z-10;
@apply flex;
@apply pl-8;
@apply pr-8;
@apply pt-8;
@apply pb-11;
@apply cursor-pointer;
}
.card-extended .card .card-label {
padding-bottom: 1rem;
padding-left: 1rem;
padding-right: 1.5rem;
padding-top: 1rem;
}
.card-extended .wrapper-left,
.card .wrapper-left {
@apply w-full;
}
.card-extended .tag-list,
.card .tag-list {
@apply flex;
@apply items-center;
@apply m-0;
@apply p-0;
}
.card-extended .card .card-title {
@apply pt-0;
}
.card-extended .card-title,
.card .card-title {
@apply flex;
@apply items-center;
@apply w-full;
@apply pt-6;
}
.card-extended .card-title [class^='icon'],
.card-extended .card-title [class*=' icon'],
.card-extended .card-title [class^='icon-'],
.card-extended .card-title [class*=' icon-'],
.card .card-title [class^='icon'],
.card .card-title [class*=' icon'],
.card .card-title [class^='icon-'],
.card .card-title [class*=' icon-'] {
@apply text-xl;
}
.card-extended .card-title .title,
.card .card-title .title {
@apply text-black;
@apply pl-3;
@apply text-lg;
}
.card-extended .card .title {
@apply pl-0;
@apply text-md;
@apply opacity-50;
}
.card-extended .wrapper-right,
.card .wrapper-right {
@apply flex;
@apply justify-end;
@apply w-max;
@apply items-center;
@apply space-x-4;
}
.card-extended .icon-arrow,
.card .icon-arrow {
@apply text-sm;
@apply font-normal;
@apply text-black;
@apply transform;
@apply rotate-180;
}
.card-extended .card .card-dropdown-toggle {
@apply pb-0;
padding-left: 1rem;
padding-right: 1rem;
}
.card-extended .card-dropdown-toggle,
.card .card-dropdown-toggle {
@apply pb-14;
@apply pl-8;
@apply pr-8;
@apply hidden;
@apply cursor-auto;
}
.card-extended .card-dropdown-content > h1 {
color: #000;
font-size: 1.1rem;
font-weight: 500;
margin-top: 1.5rem;
}
.card-extended .card-dropdown-content > p {
color: #545454;
margin-top: 1rem;
}
.card-extended .card p {
margin-top: 0;
}
.card-extended .card-dropdown-content {
@apply text-black ;
@apply opacity-100;
@apply text-md;
@apply pl-0;
@apply pb-4;
}
.card-extended .card .card-dropdown-content {
color: #545454;
opacity: 1;
}
.card .card-dropdown-content {
@apply text-black ;
@apply opacity-50;
@apply text-md;
@apply pl-0;
}
.card-input-toggle {
@apply hidden;
}
.card-input-toggle:checked+.card-dropdown-toggle {
@apply block;
}
.card-shadow {
@apply relative;
}
.card-shadow::after {
box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0), 0 0 90px 0 rgba(59, 93, 199, 0.1);
content: '';
@apply h-full;
@apply left-0;
@apply absolute;
@apply top-0;
@apply w-full;
z-index: -1;
}
Revisit the RSS feeds for the blog, the podcast and maybe even the newsletter. We'll see. Make them work.
This has been a request for over a year. And to be honest, the reason we never added this was kinda silly: Since progress update posts (like the one you are reading now) heavily rely on CSS tricks in order to support noJS, a RSS reader cannot properly format the progress update. Instead it displays a rather broken blog post. With no easy solution in sight, the RSS feed just got postponed indefinitely. But after finally revisiting this topic we came up with a simple solution. Just add a disclaimer to progress update posts that they are only viewable in the web-view. Problem solved. Proper communication, and finally a RSS feed everyone can subscribe to.
<div class="card-extended">
<label class="card-label" for="card-toggle-anchor-10">
<div class="wrapper-left">
<div class="tag-list">
<span class="tag-spn">
SPN
</span>
</div>
<div class="card-title">
<i class="icon-tick text-green-500"></i>
<h1 class="title">Create RSS Feeds</h1>
</div>
</div>
<div class="wrapper-right">
<div class="circular-profile" tooltip="David">
<img src="https://safing.io/assets/img/profiles/david.png">
</div>
<i class="icon-arrow"></i>
</div>
</label>
<input class="card-input-toggle" id="card-toggle-anchor-10" type="checkbox">
<div class="card-dropdown-toggle">
<div class="card-dropdown-content">
<div class="card">
<label class="card-label" for="card-toggle-anchor-10-1">
<div class="wrapper-left">
<div class="card-title">
<h1 class="title">Assignment</h1>
</div>
</div>
<div class="wrapper-right">
<i class="icon-arrow"></i>
</div>
</label>
<input class="card-input-toggle" id="card-toggle-anchor-10-1" type="checkbox">
<div class="card-dropdown-toggle">
<div class="card-dropdown-content">
<p>Revisit the RSS feeds for the blog, the podcast and maybe even the newsletter. We'll see. Make them work. </p>
</div>
</div>
</div>
<h1>Safing Blog RSS Finally Arrived</h1>
<p>
This has been a request for over a year. And to be honest, the reason
we never added this was kinda silly: Since progress update posts
(like the one you are reading now) heavily rely on CSS tricks in
order to support noJS, a RSS reader cannot properly format the
progress update. Instead it displays a rather broken blog post. With
no easy solution in sight, the RSS feed just got postponed indefinitely.
But after finally revisiting this topic we came up with a simple solution.
Just add a disclaimer to progress update posts that they are only viewable
in the web-view. Problem solved. Proper communication, and finally a RSS
feed everyone can subscribe to.
</p>
</div>
</div>
</div>
<div class="grid grid-flow-col grid-flow-col-dense grid-rows-3 gap-4 ">
<div class="bg-white p-4 w-max m-auto">
<i class="icon-arrow text-lg"></i>
</div>
<div class="bg-white p-4 w-max m-auto">
<i class="icon-cog-ring text-lg"></i>
</div>
<div class="bg-white p-4 w-max m-auto">
<i class="icon-cross text-lg"></i>
</div>
<div class="bg-white p-4 w-max m-auto">
<i class="icon-github text-lg"></i>
</div>
<div class="bg-white p-4 w-max m-auto">
<i class="icon-heart text-lg"></i>
</div>
<div class="bg-white p-4 w-max m-auto">
<i class="icon-info text-lg"></i>
</div>
<div class="bg-white p-4 w-max m-auto">
<i class="icon-linkedin text-lg"></i>
</div>
<div class="bg-white p-4 w-max m-auto">
<i class="icon-mic text-lg"></i>
</div>
<div class="bg-white p-4 w-max m-auto">
<i class="icon-play text-lg"></i>
</div>
<div class="bg-white p-4 w-max m-auto">
<i class="icon-podcast text-lg"></i>
</div>
<div class="bg-white p-4 w-max m-auto">
<i class="icon-reddit text-lg"></i>
</div>
<div class="bg-white p-4 w-max m-auto">
<i class="icon-rss text-lg"></i>
</div>
<div class="bg-white p-4 w-max m-auto">
<i class="icon-shield text-lg"></i>
</div>
<div class="bg-white p-4 w-max m-auto">
<i class="icon-tick text-lg"></i>
</div>
<div class="bg-white p-4 w-max m-auto">
<i class="icon-twitter text-lg"></i>
</div>
<div class="bg-white p-4 w-max m-auto">
<i class="icon-up-arrow text-lg"></i>
</div>
<div class="bg-white p-4 w-max m-auto">
<i class="icon-users text-lg"></i>
</div>
<div class="bg-white p-4 w-max m-auto">
<i class="icon-warning text-lg"></i>
</div>
</div>
<input class="input-rounded w-full" type="email" name="email" required="" placeholder="email">
.input {
@apply bg-gray-200;
@apply appearance-none;
@apply text-black;
@apply focus:outline-none;
@apply placeholder-red-600;
}
.input-rounded {
@apply bg-gray-400;
@apply rounded-full;
@apply placeholder-gray-200;
@apply text-white;
@apply px-6;
@apply py-2;
}
.input-rounded-primary{
@apply input-rounded;
@apply bg-safing-gray-800;
@apply placeholder-gray-400;
@apply text-white;
}
<a class="link">Take back your freedom</a>
.link {
@apply text-gray-500;
@apply text-left;
@apply font-medium;
white-space : break-spaces;
/* @apply hover: opacity-60; */
@apply transition;
@apply duration-100;
@apply ease-in-out;
}
.link i {
/* tailwind "sub" not supported */
vertical-align: sub;
}
<a class="link-primary-external">Take back your freedom</a>
.link-primary-external {
@apply link-primary;
}
.link-primary-external::after {
@apply icon;
@apply inline-block;
@apply font-bold;
content: '\e903';
@apply text-base;
transform: rotate(30deg) translateY(2px) translateX(1px) scale(0.75);
}
<a class="link-primary">Take back your freedom</a>
.link-primary {
@apply link;
@apply text-safing-blue-500;
}
<a class="link-secondary">Take back your freedom</a>
.link-secondary {
@apply link;
@apply text-black;
/* @apply hover: opacity-60; */
}
<div class="circular-profile" tooltip="David">
<img src="https://safing.io/assets/img/profiles/david.png">
</div>
.circular-profile {
@apply flex-shrink-0;
@apply -mt-1;
@apply w-max;
}
.circular-profile img {
@apply inline-block;
@apply h-6;
@apply w-6;
@apply rounded-full;
@apply text-white;
@apply border-2;
@apply border-white;
}
.circular-profile:hover img {
@apply transform;
@apply hover:scale-110;
@apply transition;
@apply duration-150;
@apply ease-in-out;
@apply shadow-2xl;
}
<span class="tag">
SPN
</span>
.tag {
@apply inline-flex;
@apply items-center;
@apply px-3;
@apply py-1;
@apply rounded-full;
@apply text-sm;
@apply font-medium;
@apply leading-5;
@apply mr-2;
}
<span class="tag-spn">
SPN
</span>
.tag-spn {
@apply tag;
@apply bg-green-100;
@apply text-green-800;
}
<div tooltip="Cool Tooltip!" class="bg-white">
hover over me!
</div>
[tooltip] {
@apply relative;
}
[tooltip]::before,
[tooltip]::after {
@apply hidden;
@apply text-sm;
@apply left-1/2;
@apply opacity-0;
@apply pointer-events-none;
@apply absolute;
@apply normal-case;
transform: translate(-50%, -0.5em);
@apply select-none;
}
[tooltip]::before {
border: 5px solid transparent;
@apply border-b-0;
border-top-color: #333;
@apply bottom-full;
content: '';
z-index: 1001;
}
[tooltip]::after {
background: #333;
border-radius: 100px;
bottom: calc(100% + 5px);
box-shadow: 0 1em 2em -0.5em rgba(0, 0, 0, 0.35);
@apply text-white;
content: attr(tooltip);
font-family: Helvetica, sans-serif;
max-width: 21em;
min-width: 3em;
overflow: hidden;
padding: 1ch 2ch;
@apply text-center;
@apply overflow-ellipsis;
@apply whitespace-nowrap;
z-index: 1000;
}
[tooltip='']::before,
[tooltip='']::after {
@apply hidden !important;
}
[tooltip]:hover::before,
[tooltip]:hover::after {
animation: tooltips-vert 300ms ease-out forwards;
@apply block;
}
@keyframes tooltips-vert {
to {
opacity: 0.9;
transform: translate(-50%, 0);
}
}
blockquote
em
strong
code
But who pays for all of this? That is such a critical question to ask in order to understand where a company stands and where it is heading.
<div class="mardown-container">
<!-- Markdown Example -->
<blockquote>
<p>blockquote</p>
</blockquote>
<h1>h1</h1>
<h2>h2</h2>
<h3>h3</h3>
<h4>h4</h4>
<p><em>em</em></p>
<p><strong>strong</strong></p>
<p><code>code</code></p>
<p>But who pays for all of this? That is such a critical question to ask in order to understand where a company stands and where it is heading.</p>
<p><a href="https://world.hey.com/jonas/how-money-dictates-design-decisions-5e866cd9">External Link</a></p>
<p><a href="/ownership/#influences">Internal Link</a></p>
<p><img src="https://safing.io//assets/img/blog/breaking_chain.png" alt="image displays a chain with many strong links (no meta-data, security, usability) but still breaking at its weak link (business-model))"></p>
<!-- Markdown Example -->
</div>