diff --git a/CONTRIBUTING-BLOG-POST.md b/CONTRIBUTING-BLOG-POST.md index 21613367..92fc6c06 100644 --- a/CONTRIBUTING-BLOG-POST.md +++ b/CONTRIBUTING-BLOG-POST.md @@ -83,6 +83,19 @@ description= "It's become clear that people want to talk about Valkey and have b # 'authors' are the folks who wrote or contributed to the post. # Each author corresponds to a biography file (more info later in this document) authors= [ "maury", "jacobim" ] +[extra] + # 'featured' controls whether the blog post appears in the featured section on the main blog page + featured = true + # 'featured_image' sets the main image for the blog header + # Choose from one of the available images: + # "/assets/media/featured/random-01.webp" + # "/assets/media/featured/random-02.webp" + # "/assets/media/featured/random-03.webp" + # "/assets/media/featured/random-04.webp" + # "/assets/media/featured/random-05.webp" + # "/assets/media/featured/random-06.webp" + # "/assets/media/featured/random-07.webp" + featured_image = "/assets/media/featured/random-01.webp" +++ ``` diff --git a/content/blog/2024-04-12-hello-world.md b/content/blog/2024-04-12-hello-world.md index 50286368..a308c124 100644 --- a/content/blog/2024-04-12-hello-world.md +++ b/content/blog/2024-04-12-hello-world.md @@ -8,8 +8,9 @@ description= "Welcome! For the inaugural blog post on valkey.io, I’d like to r authors= ["kyledvs"] [extra] - categories= "update" +featured = false +featured_image = "/assets/media/featured/random-05.webp" +++ Welcome! diff --git a/content/blog/2024-04-16-valkey-7-2-5-out.md b/content/blog/2024-04-16-valkey-7-2-5-out.md index ad1f9cc4..0d5cd190 100644 --- a/content/blog/2024-04-16-valkey-7-2-5-out.md +++ b/content/blog/2024-04-16-valkey-7-2-5-out.md @@ -8,8 +8,9 @@ description= "Exciting times!I'm pleased to announce that you can start using th authors= ["kyledvs"] [extra] - categories= "update" +featured = false +featured_image = "/assets/media/featured/random-04.webp" +++ Exciting times! diff --git a/content/blog/2024-04-26-modules-101.md b/content/blog/2024-04-26-modules-101.md index 712eb3e9..6780dd57 100644 --- a/content/blog/2024-04-26-modules-101.md +++ b/content/blog/2024-04-26-modules-101.md @@ -8,8 +8,9 @@ description= "The idea of modules is to allow adding extra features (such as new authors= ["dmitrypol"] [extra] - categories= "modules" +featured = false +featured_image = "/assets/media/featured/random-03.webp" +++ ## What are Valkey modules? diff --git a/content/blog/2024-05-24-may-roundup.md b/content/blog/2024-05-24-may-roundup.md index 2bde6016..ec1ad6e4 100644 --- a/content/blog/2024-05-24-may-roundup.md +++ b/content/blog/2024-05-24-may-roundup.md @@ -9,6 +9,8 @@ authors= ["kyledvs"] [extra] categories= "update" +featured = false +featured_image = "/assets/media/featured/random-02.webp" +++ It's become clear that people want to talk about Valkey and have been publishing blog posts/articles fervently. diff --git a/content/blog/2024-06-27-using-bitnami-valkey-chart/index.md b/content/blog/2024-06-27-using-bitnami-valkey-chart/index.md index 181b5150..f76f6962 100644 --- a/content/blog/2024-06-27-using-bitnami-valkey-chart/index.md +++ b/content/blog/2024-06-27-using-bitnami-valkey-chart/index.md @@ -6,6 +6,10 @@ aliases= [ "/blog/2024/06/using-bitnami-valkey-chart/" ] authors=["rafariossaa"] +[extra] +featured = false +featured_image = "/assets/media/featured/random-01.webp" + +++ Valkey is a high-performance key/value datastore that supports workloads such as caching, and message queues, supporting many data types including strings, numbers, hashes, bitmaps, and more. Valkey can run in standalone or cluster mode for replication and high availability. diff --git a/content/blog/2024-07-07-unlock-one-million-rps.md b/content/blog/2024-07-07-unlock-one-million-rps.md index 76f0441a..b04f96e9 100644 --- a/content/blog/2024-07-07-unlock-one-million-rps.md +++ b/content/blog/2024-07-07-unlock-one-million-rps.md @@ -13,6 +13,9 @@ description= "Learn about the new performance improvements in Valkey 8 which red # 'authors' are the folks who wrote or contributed to the post. # Each author corresponds to a biography file (more info later in this document) authors= [ "dantouitou", "uriyagelnik"] +[extra] +featured = true +featured_image = "/assets/media/featured/random-01.webp" +++ Valkey 8.0, set for release in September 2024, will bring major performance enhancements through a variety of improvements including a new multi-threaded architecture. This update aims to significantly boost throughput and reduce latency across various hardware configurations. diff --git a/content/blog/2024-07-31-valkey-8-0-0-rc1.md b/content/blog/2024-07-31-valkey-8-0-0-rc1.md index 2fdd67d6..306ecb05 100644 --- a/content/blog/2024-07-31-valkey-8-0-0-rc1.md +++ b/content/blog/2024-07-31-valkey-8-0-0-rc1.md @@ -13,6 +13,9 @@ description= "The first release candidate of Valkey 8.0 is now available! Come l # 'authors' are the folks who wrote or contributed to the post. # Each author corresponds to a biography file (more info later in this document) authors= [ "pingxie", "madolson" ] +[extra] +featured = false +featured_image = "/assets/media/featured/random-07.webp" +++ diff --git a/content/blog/2024-08-29-valkey-memory-efficiency-8-0.md b/content/blog/2024-08-29-valkey-memory-efficiency-8-0.md index b9b84325..2794ca25 100644 --- a/content/blog/2024-08-29-valkey-memory-efficiency-8-0.md +++ b/content/blog/2024-08-29-valkey-memory-efficiency-8-0.md @@ -3,6 +3,9 @@ title= "Storing more with less: Memory Efficiency in Valkey 8" date= 2024-09-04 01:01:01 description= "Learn about the new memory efficiency improvements in Valkey 8 which reduces memory overhead, which allows more data to be stored in the same amount of memory." authors= [ "hpatro"] +[extra] +featured = true +featured_image = "/assets/media/featured/random-05.webp" +++ Valkey 8.0 GA is around the corner and one of the themes is increasing overall memory efficiency. Memory overhead reduction has the obvious effect of better resource utilization, but also impacts performance. By minimizing unnecessary memory consumption, you can store more data with the same hardware resources and improve overall system responsiveness. This post is going to give an overview into how Valkey internally manages the data and its memory overhead. Additionally, it talks about the two major improvements for Valkey 8.0 that improves the overall memory efficiency. diff --git a/content/blog/2024-09-13-unlock-one-million-rps-part2.md b/content/blog/2024-09-13-unlock-one-million-rps-part2.md index 3c3c3c7c..eba88064 100644 --- a/content/blog/2024-09-13-unlock-one-million-rps-part2.md +++ b/content/blog/2024-09-13-unlock-one-million-rps-part2.md @@ -13,6 +13,9 @@ description= "Maximize the performance of your hardware with memory access amort # 'authors' are the folks who wrote or contributed to the post. # Each author corresponds to a biography file (more info later in this document) authors= [ "dantouitou", "uriyagelnik"] +[extra] +featured = false +featured_image = "/assets/media/featured/random-06.webp" +++ In the [first part](/blog/unlock-one-million-rps/) of this blog, we described how we offloaded almost all I/O operations to I/O threads, thereby freeing more CPU cycles in the main thread to execute commands. When we profiled the execution of the main thread, we found that a considerable amount of time was spent waiting for external memory. This was not entirely surprising, as when accessing random keys, the probability of finding the key in one of the processor caches is relatively low. Considering that external memory access latency is approximately 50 times greater than L1 cache, it became clear that despite showing 100% CPU utilization, the main process was mostly “waiting”. In this blog, we describe the technique we have been using to increase the number of parallel memory accesses, thereby reducing the impact that external memory latency has on performance. diff --git a/content/blog/2024-09-16-valkey-8-ga.md b/content/blog/2024-09-16-valkey-8-ga.md index eb3dab78..ec7f1c5e 100644 --- a/content/blog/2024-09-16-valkey-8-ga.md +++ b/content/blog/2024-09-16-valkey-8-ga.md @@ -3,6 +3,10 @@ title= "Generally Available: Valkey 8.0.0" description = "Today marks a milestone for the Valkey project: the first major release." date= 2024-09-16 01:01:01 authors= ["kyledvs"] +[extra] +featured = false +featured_image = "/assets/media/featured/random-05.webp" + +++ The first ever release of Valkey, 7.2.5, became generally available more than 5 months ago. diff --git a/content/blog/2024-11-21-testing-the-limits/index.md b/content/blog/2024-11-21-testing-the-limits/index.md index 63f45835..9b71df21 100644 --- a/content/blog/2024-11-21-testing-the-limits/index.md +++ b/content/blog/2024-11-21-testing-the-limits/index.md @@ -3,6 +3,9 @@ title = "Pushing the limits of Valkey on a Raspberry Pi" description = "While most people won't go to production on a Raspberry Pi, we'll cover how to thoroughly performance test Valkey to understand how it works in production." date= 2024-11-21 01:01:01 authors= ["dtaivpp"] +[extra] +featured = false +featured_image = "/assets/media/featured/random-07.webp" +++ While doing extensive performance testing on a Raspberry Pi is silly, it's made me realize the complexity of performance testing. For example, in some of the tests below I ended up managing to use all of the resources of the Raspberry Pi and achieved terrible performance. Every application has different performance characteristics so we'll walk through what factors to consider when it comes to deploying Valkey. diff --git a/content/blog/2024-12-20-2024-year-of-valkey/index.md b/content/blog/2024-12-20-2024-year-of-valkey/index.md index a84eb644..c05a1dd7 100644 --- a/content/blog/2024-12-20-2024-year-of-valkey/index.md +++ b/content/blog/2024-12-20-2024-year-of-valkey/index.md @@ -4,6 +4,10 @@ title= "2024: The Year of Valkey" description = "The end of the calendar year is a great time to reflect, but for Valkey this particular year-end holds special meaning." date= 2024-12-20 01:01:01 authors= ["kyledvs"] +[extra] +featured = false +featured_image = "/assets/media/featured/random-05.webp" + +++ The end of the calendar year is a great time to reflect, but for Valkey this particular year-end holds special meaning. diff --git a/content/blog/2024-12-22-az-affinity-strategy.md b/content/blog/2024-12-22-az-affinity-strategy.md index ad5100aa..9bfbb74f 100644 --- a/content/blog/2024-12-22-az-affinity-strategy.md +++ b/content/blog/2024-12-22-az-affinity-strategy.md @@ -3,6 +3,9 @@ title= "Reducing application latency and lowering Cloud bill by setting up your date= 2025-01-08 01:01:01 description= "By implementing AZ affinity routing in Valkey and using GLIDE, you can achieve lower latency and cost savings by routing requests to replicas in the same AZ as the client." authors= [ "asafporatstoler", "adarovadya", "muhammadawawdi"] +[extra] +featured = true +featured_image = "/assets/media/featured/random-04.webp" +++ How can adjusting your client library help you reduce Cloud costs and improve latency? diff --git a/content/blog/2025-03-28-new-hash-table/index.md b/content/blog/2025-03-28-new-hash-table/index.md index aa48c1bb..c83c66b5 100644 --- a/content/blog/2025-03-28-new-hash-table/index.md +++ b/content/blog/2025-03-28-new-hash-table/index.md @@ -3,6 +3,10 @@ title= "A new hash table" date= 2025-03-28 00:00:00 description= "Designing a state-of-the art hash table" authors= ["zuiderkwast"] +[extra] +featured = false +featured_image = "/assets/media/featured/random-05.webp" + +++ Many workloads are bound on storing data. Being able to store more data using diff --git a/content/blog/2025-03-4-go-client-in-public-preview.md b/content/blog/2025-03-4-go-client-in-public-preview.md index 8dace9db..036d7b14 100644 --- a/content/blog/2025-03-4-go-client-in-public-preview.md +++ b/content/blog/2025-03-4-go-client-in-public-preview.md @@ -3,6 +3,9 @@ title= "Introducing the Valkey Glide Go Client: Now in Public Preview!" description = "Valkey Glide now supports GO. Read to learn more about the new client designed for performance and developer productivity" date= 2025-03-04 01:01:01 authors= [ "niharikabhavaraju"] +[extra] +featured = false +featured_image = "/assets/media/featured/default.webp" +++ Valkey-Glide is pleased to announce the public preview release of the GLIDE(General Language Independent Driver for the Enterprise) Go client. This release brings the power and reliability of Valkey to Go developers with an API designed for performance and developer productivity. diff --git a/content/blog/2025-04-02-valkey-8-1-0-ga.md b/content/blog/2025-04-02-valkey-8-1-0-ga.md index fc686402..b7806e8b 100644 --- a/content/blog/2025-04-02-valkey-8-1-0-ga.md +++ b/content/blog/2025-04-02-valkey-8-1-0-ga.md @@ -13,6 +13,9 @@ description= "Valkey 8.1 is now generally available! Come learn about the exciti # 'authors' are the folks who wrote or contributed to the post. # Each author corresponds to a biography file (more info later in this document) authors= [ "rdias", "mvisser" ] +[extra] +featured = false +featured_image = "/assets/media/featured/random-03.webp" +++ diff --git a/content/blog/2025-04-09-introducing-bloom-filters.md b/content/blog/2025-04-09-introducing-bloom-filters.md index 223c8e13..d3d1b438 100644 --- a/content/blog/2025-04-09-introducing-bloom-filters.md +++ b/content/blog/2025-04-09-introducing-bloom-filters.md @@ -3,6 +3,10 @@ title= "Introducing Bloom Filters for Valkey" description = "Learn how to use bloom filters to perform large-scale membership testing with significant memory savings." date= 2025-04-09 01:01:01 authors= [ "karthiksubbarao"] + +[extra] +featured = false +featured_image = "/assets/media/featured/random-02.webp" +++ The Valkey project is introducing Bloom Filters as a new data type via [valkey-bloom](https://github.com/valkey-io/valkey-bloom/) (BSD-3 licensed), an official Valkey Module which is compatible with Valkey versions >= 8.0. Bloom filters provide efficient, large-scale membership testing, improving performance and offering significant memory savings for high-volume applications. diff --git a/content/blog/2025-04-27-valkey-modules-rust-sdk-updates.md b/content/blog/2025-04-27-valkey-modules-rust-sdk-updates.md index fb517ae2..ff9edfdd 100644 --- a/content/blog/2025-04-27-valkey-modules-rust-sdk-updates.md +++ b/content/blog/2025-04-27-valkey-modules-rust-sdk-updates.md @@ -4,6 +4,11 @@ date= 2025-05-20 01:01:01 description= "Extending Valkey using Rust SDK." authors= ["dmitrypol"] categories= "modules" + +[extra] +categories= "performance" +featured = false +featured_image = "/assets/media/featured/random-04.webp" +++ In an earlier [article](/blog/modules-101/) we explored the process of building Valkey Modules to enable developers to add features such as new commands and data types to Valkey without modifying its core. diff --git a/content/blog/2025-05-14-upgrade-stories-vol1.md b/content/blog/2025-05-14-upgrade-stories-vol1.md index 3841d0ad..58b56232 100644 --- a/content/blog/2025-05-14-upgrade-stories-vol1.md +++ b/content/blog/2025-05-14-upgrade-stories-vol1.md @@ -3,6 +3,11 @@ title= "Upgrade Stories from the Community, Volume 1:" description = "Two new Valkey users describe what it's really like to upgrade" date= 2025-05-14 01:01:01 authors= ["kyledvs", "nigel"] + +[extra] +categories= "update" +featured = false +featured_image = "/assets/media/featured/random-04.webp" +++ ## Two new Valkey users describe what it's really like to upgrade diff --git a/content/blog/2025-05-21-performance-optimization-methodology-for-valkey/index.md b/content/blog/2025-05-21-performance-optimization-methodology-for-valkey/index.md index 2e83509a..7f48cc59 100644 --- a/content/blog/2025-05-21-performance-optimization-methodology-for-valkey/index.md +++ b/content/blog/2025-05-21-performance-optimization-methodology-for-valkey/index.md @@ -3,6 +3,11 @@ title= "Performance Optimization Methodology for Valkey - Part 1" date= 2025-05-27 00:00:00 description= "Performance Optimization Methodology for Valkey" authors= ["lipzhu", "guowangy"] + +[extra] +categories= "performance" +featured = true +featured_image = "/assets/media/featured/random-04.webp" +++ Performance optimization is a multifaceted domain, particularly for high-performance systems like Valkey. While overall system performance depends on numerous factors including hardware specifications, OS configurations, network conditions, and deployment architectures, our work focuses specifically on optimizing Valkey's performance at the CPU level. diff --git a/content/blog/_index.md b/content/blog/_index.md index ca5be15e..b09c166b 100644 --- a/content/blog/_index.md +++ b/content/blog/_index.md @@ -1,5 +1,6 @@ +++ -title = "List of blog posts" +title = "Blog" +description = "Stay up to date with the latest news, tutorials, and updates from the Valkey team." sort_by = "date" template = "blog.html" page_template = "blog-page.html" diff --git a/content/blog/whats-new-june-2024.md b/content/blog/whats-new-june-2024.md index 6bb29fa9..1d226e54 100644 --- a/content/blog/whats-new-june-2024.md +++ b/content/blog/whats-new-june-2024.md @@ -2,9 +2,12 @@ title= "What's new in Valkey for June 2024" date= 2024-06-27 01:01:01 description= "What have people been saying about Valkey in June 2024? Read on to find out." -[extra] authors= ["kyledvs"] + +[extra] categories= "roundup" +featured = false +featured_image = "/assets/media/featured/random-01.webp" +++ What have people been saying since the [last what's new post](/blog/may-roundup/)? Read on to find out. diff --git a/sass/_valkey.scss b/sass/_valkey.scss index 54a27a57..a73051e6 100644 --- a/sass/_valkey.scss +++ b/sass/_valkey.scss @@ -457,8 +457,12 @@ p { margin-left: auto; margin-right: auto; flex-direction: column; + display: flex; + max-width: var(--max-width); + margin-left: auto; + margin-right: auto; - @include respond-min(768px) { + @include respond-min(1024px) { flex-direction: row-reverse; } @@ -474,6 +478,11 @@ p { main { flex: 1; padding: 2rem; + width: 100%; + + @include respond-min(1024px) { + width: 67%; + } } .main-inner { @@ -488,7 +497,7 @@ p { padding: 2rem; width: 100%; - @include respond-min(768px) { + @include respond-min(1024px) { max-width: 420px; } @@ -717,8 +726,7 @@ p { padding: 80px 20px; h1 { - @include sans-serif; - font-size: 4rem; + font-size: 3rem; font-weight: 700; line-height: 1; color: #fff; @@ -829,29 +837,249 @@ aside { } } -.bloglist { - list-style: none; - margin: 0; - padding: 0; +.blog-inner { + + .blog-list { + list-style: none; + margin: 0; + padding: 0; + + li { + background: #fff; + padding: 20px; + margin-bottom: 20px; - .meta { - margin-top: 10px; + h2 a { + color: #30176e; + margin: 0; + } + + a.link-readmore { + color: #747bff ; + } + + .meta { + margin-top: 2px; + } + } } } -.meta { - @include sans-serif; - font-size: 1.4rem; - display: block; - line-height: 1.4; - margin: 2em 0 1em; - color: $text-light; +.blog-featured { + h2 { + color: #30176e; + margin-bottom: 1rem; + font-size: 120%; + } + + &-card { + display: flex; + background: #fff; + border-radius: 10px; + margin-bottom: 2rem; + + img { + max-width: 50%; + height: auto; + object-fit: cover; + border-top-left-radius: 10px; + border-bottom-left-radius: 10px; + } + + .info { + flex: 1 1 50%; + width: 50%; + padding: 1.25rem; + + h4 { + margin: 0 0 1.25rem; + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + overflow: hidden; + + a { + color: #000; + } + } + + p { + margin: 0 0 1.25rem; + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + overflow: hidden; + } + + .read-more { + + } + } + .read-more { + display: inline-flex; + align-items: center; + justify-content: center; + position: relative; + line-height: 1.2; + font-weight: 600; + font-size: 14px; + padding: 12px 24px; + border: 1px solid #e2e8f0; + border-radius: 50px; + color: #2d3748; + align-self: flex-end; + margin-left: auto; + transition: all 0.2s; + } + + } +} + +.blog-single { + display: flex; + flex-wrap: wrap; + width: 100%; + background-color: #e2e8f0; + display: flex; + max-width: var(--max-width); + margin-left: auto; + margin-right: auto; + + h2 { + font-size: 1.5rem; + margin: 0 0 0.25rem 0; + font-weight: 700; + color: #000; + text-transform: uppercase; + } + + main { + flex: 1; + padding: 2rem; + width: 100%; + + @include respond-min(1024px) { + width: 67%; + } + } + + .main-inner { + width: 100%; + background-color: #fff; + padding: 1rem 2rem 2rem; + + .feature-img { + object-fit: cover; + width: 100%; + height: 200px; + border-radius: 2rem; + margin-bottom: 2rem; + max-width: none; + + @include respond-min(1024px) { + height: 400px; + } + } + + h1 { + margin: 1rem 0 0.5rem; + color: #30176e; + font-size: 3rem; + font-weight: 600; + } + + h2,h3,h4 { + margin: 4rem 0 0.5rem; + color: #30176e; + } + + .meta { + font-size: 1.4rem; + display: block; + margin: 0 0 2rem; + color: #718096; + } + + ul { + list-style: none; + padding: 0; + margin: 0 0 2rem 0; + + li { + a {} + } + } + + img { + display: block; + width: 100%; + margin: 1rem auto; + max-width: 720px; + } + + img + em { + display: block; + margin-bottom: 2rem; + } + } + + aside { + background-color: #f1f0fa; + padding: 2rem; + width: 100%; + + @include respond-min(768px) { + max-width: 33%; + } + } +} + +.blog-authors { + h2 { + color: #553c9a; + } +} + +.author-container { + display: flex; + align-items: flex-start; + margin-top: 2rem; + padding-bottom: 1rem; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); +} + +.author-photo-container { + display: flex; + align-items: flex-start; + justify-content: center; + flex: 0 0 auto; + margin-right: 1rem; + + img { + width: 60px; + height: 60px; + object-fit: cover; + } +} + +.author-info { + flex: 1; + text-align: left; + + h4 { + font-weight: 400; + font-size: 2rem; + margin: 0; + color: #30176E; + } + + a { + color: #6893FF; + } } .share-container { @include sans-serif; - color: $text-light; - padding-bottom: 2em; } @@ -874,17 +1102,17 @@ aside { > svg { height: 16px; - fill: $background-darkest; + fill: #6983FF; margin-top: 10px; } } > div:hover { cursor: pointer; + + > svg { + fill: #553c9a; + } } - > div.facebook:hover > svg {fill: #3B5998;} - > div.twitter:hover > svg {fill: #55ACEE;} - > div.linkedin:hover > svg {fill: #0077b5;} - > div.mail:hover > svg {fill: #7D7D7D;} > div.facebook > svg { height: 18px; margin-top: 9px; @@ -903,6 +1131,12 @@ aside { } } +.blog-nav { + display: flex; + justify-content: space-between; + gap: 2rem; +} + .participants-container { @include sans-serif; display: inline-block; @@ -1002,6 +1236,10 @@ aside { ul { list-style-type: none; padding-left: 0; + + a { + color: #6983FF; + } } } @@ -1105,30 +1343,6 @@ pre table { } } } - - - -.author-container { - display: flex; - align-items: center; - background-color: $grey-lt-000; /* Light grey background */ - padding: 20px; - border-radius: 5px; - margin-bottom: 30px; -} - -.author-photo-container { - display: flex; - align-items: center; - justify-content: center; - flex: 0 0 auto; - margin-right: 20px; -} - -.author-info { - flex: 1; - text-align: left; -} .banner { .width-limiter { diff --git a/sass/css/styles.scss b/sass/css/styles.scss index d3cf1fca..22cc19ec 100755 --- a/sass/css/styles.scss +++ b/sass/css/styles.scss @@ -16,7 +16,7 @@ table { } th { - background-color: #123678; + background-color: #30176e; color: white; padding: 8px; text-align: left; diff --git a/static/assets/media/featured/default.webp b/static/assets/media/featured/default.webp new file mode 100644 index 00000000..c94e7cf4 Binary files /dev/null and b/static/assets/media/featured/default.webp differ diff --git a/static/assets/media/featured/random-01.webp b/static/assets/media/featured/random-01.webp new file mode 100644 index 00000000..f2c976f9 Binary files /dev/null and b/static/assets/media/featured/random-01.webp differ diff --git a/static/assets/media/featured/random-02.webp b/static/assets/media/featured/random-02.webp new file mode 100644 index 00000000..469fddbb Binary files /dev/null and b/static/assets/media/featured/random-02.webp differ diff --git a/static/assets/media/featured/random-03.webp b/static/assets/media/featured/random-03.webp new file mode 100644 index 00000000..cae4a91f Binary files /dev/null and b/static/assets/media/featured/random-03.webp differ diff --git a/static/assets/media/featured/random-04.webp b/static/assets/media/featured/random-04.webp new file mode 100644 index 00000000..eec63b85 Binary files /dev/null and b/static/assets/media/featured/random-04.webp differ diff --git a/static/assets/media/featured/random-05.webp b/static/assets/media/featured/random-05.webp new file mode 100644 index 00000000..941c86de Binary files /dev/null and b/static/assets/media/featured/random-05.webp differ diff --git a/static/assets/media/featured/random-06.webp b/static/assets/media/featured/random-06.webp new file mode 100644 index 00000000..07eeca8e Binary files /dev/null and b/static/assets/media/featured/random-06.webp differ diff --git a/static/assets/media/featured/random-07.webp b/static/assets/media/featured/random-07.webp new file mode 100644 index 00000000..4e429868 Binary files /dev/null and b/static/assets/media/featured/random-07.webp differ diff --git a/templates/blog-aside.html b/templates/blog-aside.html new file mode 100644 index 00000000..e1dc1978 --- /dev/null +++ b/templates/blog-aside.html @@ -0,0 +1,15 @@ +{% extends "default.html" %} + +{% block content %} +{% block subhead_content %}{% endblock subhead_content %} +
+
+
+ {% block main_content %}{% endblock main_content %} +
+
+ +
+{% endblock content %} \ No newline at end of file diff --git a/templates/blog-page.html b/templates/blog-page.html index 3f9e9434..5c16477a 100644 --- a/templates/blog-page.html +++ b/templates/blog-page.html @@ -1,6 +1,10 @@ -{% extends "right-aside.html" %} - +{% extends "blog-single.html" %} {% block main_content %} + +{% if page.extra.featured_image %} + {{ page.title }} +{% endif %} +

{{ page.title }}

{{ page.date | date(format="%Y-%m-%d") }} @@ -13,11 +17,13 @@

{{ page.title }}

{% endfor %} {% endif %}
- {{ page.content | safe }} +{% endblock main_content%} + +{% block related_content %}
-

About the authors

{% if page.authors %} +

About the authors

{% for author in page.authors %} {% set author_path = "authors/" ~ author ~ ".md" %} {% set author_page = get_page(path=author_path) %} @@ -25,7 +31,7 @@

About the authors

{% endfor %} {% endif %}
-
+ {% include "includes/share-buttons.html" %}
{% if page.higher and page.higher.title %} @@ -35,4 +41,4 @@

About the authors

{% endif %}
-{% endblock main_content%} \ No newline at end of file +{% endblock related_content %} \ No newline at end of file diff --git a/templates/blog-single.html b/templates/blog-single.html new file mode 100644 index 00000000..e968aed5 --- /dev/null +++ b/templates/blog-single.html @@ -0,0 +1,15 @@ +{% extends "default.html" %} + +{% block content %} +{% block subhead_content %}{% endblock subhead_content %} +
+
+
+ {% block main_content %}{% endblock main_content %} +
+
+ +
+{% endblock content %} \ No newline at end of file diff --git a/templates/blog.html b/templates/blog.html index 01c1d5a1..c4f44932 100644 --- a/templates/blog.html +++ b/templates/blog.html @@ -1,13 +1,41 @@ -{% extends "fullwidth.html" %} +{% extends "blog-aside.html" %} + +{% block subhead_content %} +
+

{{ section.title }}

+

{{ section.description }}

+
+{% endblock subhead_content %} {% block main_content %} - -{% endblock main_content %} \ No newline at end of file + +{% endblock main_content %} + +{% block related_content %} + +{% endblock related_content %} diff --git a/templates/includes/author_panel.html b/templates/includes/author_panel.html index bf257a52..8e70057f 100644 --- a/templates/includes/author_panel.html +++ b/templates/includes/author_panel.html @@ -5,14 +5,10 @@ {% endif %}
-

{{author_page.title}}

+

{{author_page.title}}

+ {% if author_page.extra and author_page.extra.github %} + @{{author_page.extra.github}} + {% endif %} {{ author_page.content | safe }} -
- -
\ No newline at end of file diff --git a/templates/includes/head.html b/templates/includes/head.html index 90d3f7e7..6f618979 100644 --- a/templates/includes/head.html +++ b/templates/includes/head.html @@ -7,7 +7,7 @@ {% if page and page.description %} - {% elif section and section.description %}{% endif %} + {% elif section and section.description %}{% endif %} diff --git a/templates/includes/share-buttons.html b/templates/includes/share-buttons.html index 43b6a82a..1a100e6a 100644 --- a/templates/includes/share-buttons.html +++ b/templates/includes/share-buttons.html @@ -1,7 +1,8 @@ {# adapted to Zola #} {% set pageurl = page.permalink | urlencode%} -
Share on:
+