--- /dev/null
+---
+title: "all pages"
+layout: "all"
+hidden: true
+---
\ No newline at end of file
---
title: "test"
draft: true
+hidden: true
---
-
-{{<section>}}
-{{<latest-news>}}
+{{<section container="full">}}
+{{<carousel class="mg-t-lg carousel-container-width">}}
+{{<getpages "projects" "hidden">}}
+{{</carousel>}}
+
{{</section>}}
"classes": [
"active",
"align-flex-start",
+ "all-pages",
"ancestor",
"animated-home-server",
"animated-home-shadow-screen",
"container",
"container-full",
"content-markdown",
+ "date",
"description",
"download-search",
"fa",
a {
color: var(--color-action-text);
text-decoration: none;
+ word-break: break-word;
+ overflow-wrap: break-word;
+
+ @media (max-width: 600px) {
+ word-break: break-word;
+ overflow-wrap: break-word;
+ }
&:hover {
text-decoration: underline;
--height: auto;
padding-bottom: 40px;
overflow: hidden;
- // margin-left: calc(var(--content-padding-horizontal) * -1);
- // margin-right: calc(var(--content-padding-horizontal) * -1);
@include phone {
--number-of-items: 2;
text-overflow: ellipsis;
}
}
+
+.latest-news {
+ .container h2 {
+ padding: 0 12px;
+ }
+}
}
th {
- background-color: #f2f2f2;
+ background-color: var(--color-text-secondary);
+ color: #fff;
font-weight: bold;
+ border: 1px solid #fff;
}
tr {
font-style: italic;
}
}
+ // Styles responsive
+ @media screen and (max-width: 768px) {
+ table {
+ display: block;
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+
+ td,
+ th {
+ padding: 0.5rem 0.8rem;
+ }
+
+ td:last-child {
+ white-space: normal;
+ }
+ }
h1,
h2,
line-height: 1.4;
margin-top: var(--sp-sm);
margin-bottom: var(--sp-sm);
+ width: 100%;
+ overflow-x: auto;
+ white-space: pre-wrap;
+ }
+
+ @media (max-width: 600px) {
+ p {
+ word-break: break-word;
+ }
}
}
margin-top: var(--block-space);
}
+.col {
+ h2,
+ h3,
+ h4 {
+ &:first-child {
+ margin-top: 0;
+ }
+ }
+}
+
.section-row {
--min-col-width: 300px;
@include tablet {
display: flex;
flex-direction: row;
--gap: var(--sp-lg);
+ --cols: 3;
+ --min-col-width: 300px;
gap: var(--gap);
justify-content: flex-start;
align-items: stretch;
flex-wrap: wrap;
- --cols: 3;
- --min-col-width: 300px;
+
> *,
> .col {
- min-width: var(--min-col-width);
- flex: 0 0 calc((100% / var(--cols)) - var(--gap));
- }
-}
+ flex: 1 1 auto;
-.row-from-list .card__content {
+ @include phone {
+ --basis: calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));
+ min-width: var(--min-col-width);
+ flex: 1 1 var(--basis);
+ }
+ }
}
@for $i from 1 through 5 {
- .cols-#{$i} {
- --cols: #{$i};
+ @include phone {
+ .cols-#{$i} {
+ --cols: #{$i};
+ }
}
}
}
}
}
+
+@media (max-width: 600px) {
+ .container,
+ .mg-t-md {
+ &:has(> .btn ~ .btn) {
+ display: flex;
+ flex-direction: column;
+ gap: var(--sp-sm);
+ align-items: center;
+
+ > .btn {
+ margin: 0;
+ }
+ }
+ }
+}
line-clamp: 4;
overflow: hidden;
text-overflow: ellipsis;
+
+ @media (max-width: 600px) {
+ word-break: break-word;
+ overflow-wrap: break-word;
+ }
}
&__date {
--feature-item-title-gap: 0.5rem;
@include tablet {
+ --feature-padding: 2.5rem;
--features-columns-count: 2;
--feature-item-title-font-size: 2.5rem;
--feature-item-title-gap: 1.3rem;
border-radius: var(--feature-border-radius);
border-radius: 16px;
background: var(--color-brand-surface);
- padding: 40px;
+ --title-direction: column;
+ --icon-font-size: 0.6em;
+ --icon-size: 36px;
+
+ @include tablet {
+ // --title-direction: column;
+ --icon-font-size: 1.8rem;
+ }
&-content {
flex: 1;
// Icon styles
&__icon {
+ --icon-size: 2.5em;
+ font-size: var(--icon-font-size);
+ width: var(--icon-size);
+ height: var(--icon-size);
display: flex !important;
- width: 72px;
- height: 72px;
+
justify-content: center;
align-items: center;
- font-size: 0.8em;
border-radius: 100px;
border: 2px solid var(--color-surface);
color: var(--color-surface);
0px 11px 15px 0px rgba(71, 84, 103, 0.1),
0px 9px 46px 0px rgba(71, 84, 103, 0.06),
0px 24px 38px 0px rgba(71, 84, 103, 0.04);
- font-size: 1.5rem;
}
// Title styles
&__title {
display: flex;
+ flex-wrap: wrap;
gap: var(--feature-item-title-gap);
font-size: var(--feature-item-title-font-size);
font-weight: 500;
margin: 0 0 1.05rem;
padding-bottom: 0.28em;
display: flex;
- flex-direction: column;
+ flex-direction: var(--title-direction);
align-items: flex-start;
}
.hero-block {
--margin-top: var(--sp-xs);
--margin-bottom: var(--sp-xxl);
- --title-font-size: 2.25rem;
margin-top: var(--margin-top);
margin-bottom: var(--margin-bottom);
+ --title-font-size: clamp(1.3rem, 1.3rem + 2vw, 4rem);
@include tablet {
--margin-top: var(--sp-xxxl);
--margin-bottom: var(--sp-sm);
- --title-font-size: 4rem;
}
.media-block__title {
.list-pages {
- --gap: var(--sp-md);
- --cols: 2;
+ --gap: 12px;
+ --cols: 1;
+ --basis: 100%;
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: var(--gap);
+ @include phone {
+ --cols: 2;
+ }
+
@include tablet {
+ --gap: var(--sp-md);
--cols: 3;
}
- @include tablet-up {
+ @include desktop {
--cols: 4;
}
- > * {
- --basis: calc((100% / var(--cols)) - var(--gap));
- flex: 0 0 var(--basis);
+ > *,
+ > .card {
+ // flex: 1;
+ // width: 100%;
+ // flex-basis: auto;
+
+ @include phone {
+ --basis: calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));
+ width: auto;
+ flex: 0 0 var(--basis);
+ }
}
}
letter-spacing: -0.00125em;
font-weight: 700;
text-transform: uppercase;
- line-height: 67%;
+ line-height: 80%;
}
&__content,
margin-left: auto;
margin-right: auto;
max-width: 1920px;
- padding: var(--sp-xl) var(--sp-lg);
+ padding: 24px 12px;
border-radius: 24px;
+
+ @include tablet {
+ padding: var(--sp-xl) var(--sp-lg);
+ }
}
margin-left: auto;
margin-right: auto;
max-width: 1920px;
- padding: var(--sp-xl) var(--sp-lg);
+ padding: 24px 12px;
+
+ @include tablet {
+ padding: var(--sp-xl) var(--sp-lg);
+ }
}
justify-content: space-between;
flex-wrap: wrap;
flex-direction: row;
- gap: var(--sp-lg) var(--sp-md);
+ --gap: var(--sp-md);
+ gap: var(--sp-lg) var(--gap);
margin-top: var(--sp-md);
+ @media (max-width: 600px) {
+ --cols: 1 !important;
+ }
+
.list-column {
- flex-basis: calc((100% / var(--cols)) - var(--sp-md));
+ --basis: calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));
+ flex: 1 1 var(--basis);
+ word-break: break-word;
+ overflow-wrap: break-word;
+ //flex-basis: calc((100% / var(--cols)) - var(--sp-md));
}
}
+
.list-column {
- flex: 1;
--border-left: 2px solid var(--color-brand-fill);
padding-left: var(--sp-sm-md);
//border-left: var(--border-left);
flex-wrap: wrap;
justify-content: stretch;
align-items: stretch;
- padding-top: 80px;
+ padding-top: 30px;
+
+ @include phone {
+ padding-top: 80px;
+ }
&.has-aside {
max-width: 1920px;
:root {
--container-width: 1312px;
- --content-padding-horizontal: 20px;
+ --content-padding-horizontal: 12px;
--font-size: 1em;
--font-family: "gotham", sans-serif;
@include tablet {
--content-padding-horizontal: 40px;
-
--container-paddings: var(--sp-lg);
--section-space: 100px;
--block-space: 160px;
carouselElement.classList.add("carousel-initialized");
};
+ /**
+ * Waits for elements matching the selector to be present in the DOM within the given element.
+ * @param {HTMLElement} element - The parent element to observe for the selector.
+ * @param {string} selector - The CSS selector to match the elements.
+ * @returns {Promise<NodeListOf<Element>>} A promise that resolves with the matched elements.
+ */
const waitForElements = (element, selector) => {
return new Promise((resolve) => {
const items = element.querySelectorAll(selector);
--- /dev/null
+{{ define "main" }}
+ <div class="all-pages">
+ <h1>{{ .Title }}</h1>
+
+ <ul>
+ {{ range .Site.Pages }}
+ {{ if not .Params.hidden }}
+ <li>
+ <a href="{{ .RelPermalink }}">{{ .Title }}</a>
+ </li>
+ {{ end }}
+ {{ end }}
+ </ul>
+ </div>
+{{ end }}
{{ define "main" }}
- <div class="container section-space">
- <h1>{{ .Title }}</h1>
- {{ .Content }}
- {{ range .Pages }}
- <h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
- {{ .Summary }}
- {{ end }}
- </div>
+ <article class="article">
+ <div class="container section-space">
+ <h1>{{ .Title }}</h1>
+ {{ .Content }}
+ {{ range .Pages }}
+ <h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
+ {{ .Summary }}
+ {{ end }}
+ </div>
+ </article>
{{ end }}
{{ if eq $asidePosition "before" }}
{{ partial "aside.html" . }}
{{ end }}
- <article class="article" data-blog-api-key="{{ .Site.Params.blogApiKey }}">
+ <article class="article">
<div class="container page-top">
<h1>{{ .Title }}</h1>
<div class="description">
{{ partialCached "head/css.html" . }}
<script>
- const siteParams = {{ .Site.Params }};
+ var siteParams = window.siteParams = {{ .Site.Params }};
</script>
</head>
-<div class="latest-news" data-max-cards="10" data-blog-api-key="{{ .Site.Params.blogApiKey }}">
+<div class="latest-news" data-max-cards="10">
<div class="container">
<h2>
Latest <strong>news</strong>