diff --git a/content/dev/apps/index.md b/content/dev/apps/index.md
new file mode 100644
index 00000000..ed4e66c5
--- /dev/null
+++ b/content/dev/apps/index.md
@@ -0,0 +1 @@
+# Building Apps on Freenet
\ No newline at end of file
diff --git a/content/dev/core/index.md b/content/dev/core/index.md
new file mode 100644
index 00000000..20e27f2f
--- /dev/null
+++ b/content/dev/core/index.md
@@ -0,0 +1 @@
+# Core Development
\ No newline at end of file
diff --git a/content/donate/index.md b/content/donate/index.md
new file mode 100644
index 00000000..de935801
--- /dev/null
+++ b/content/donate/index.md
@@ -0,0 +1,57 @@
+
+### Cryptographically Certified Donations
+
+When you make a donation to Freenet, we want to give you a special certificate
+to acknowledge your contribution. This certificate isn't just a simple thank
+you—it's a digital token that could unlock additional features within Freenet in
+the future. Here's how it works, broken down step-by-step:
+
+1. **Key Generation**: When you decide to make a donation, your web browser will
+ generate a unique pair of cryptographic keys for you. Think of these as a
+ lock (public key) and key (private key).
+
+2. **Blinding for Privacy**: To ensure your privacy and security, your public
+ key (the lock) is "blinded." This means it's scrambled in a way that hides
+ its true form. This blinded key is then sent to our server.
+
+3. **Donation and Signing**: When you complete your donation, our server will
+ use a special digital signature to sign your blinded public key. Different
+ donation amounts are signed with different keys to recognize varying levels
+ of support.
+
+4. **Unblinding**: After signing, the server sends the signed, still-blinded
+ public key back to your browser. Your browser then "unblinds" it, revealing
+ the signed version of your original public key.
+
+5. **Your Certificate**: Finally, your browser gives you:
+ - The private key (the key to your lock), encoded in a way you can easily
+ save.
+ - The signed public key (the lock), which proves your donation and its
+ amount.
+
+### Why This Matters
+
+This cryptographic certificate is unique to you and your donation. It proves
+that you supported Freenet at a specific level without revealing any personal
+information. While these certificates are not transferable (sharing your private
+key would defeat the purpose), they can serve as a foundation for future
+features, like a reputation system within Freenet. This could help reduce spam
+by ensuring only genuine supporters can send certain types of messages or access
+specific features.
+
+### Clear and Secure
+
+Unlike NFTs or other digital tokens often associated with speculative trading,
+our donation certificates are designed purely for functionality within the
+Freenet ecosystem. They are not meant to be traded or sold but to enhance your
+experience and recognition within the Freenet community.
+
+By donating, you're not only supporting the development of Freenet but also
+receiving a secure, private token of appreciation that could offer additional
+benefits down the line.
+
+---
+
+This explanation simplifies the process while highlighting the key points and
+benefits, ensuring that technical users understand the purpose and value of the
+system without drawing comparisons to less reputable digital assets.
\ No newline at end of file
diff --git a/content/resources/history/index.md b/content/resources/history/index.md
new file mode 100644
index 00000000..932c9a6a
--- /dev/null
+++ b/content/resources/history/index.md
@@ -0,0 +1,61 @@
+# History of Freenet
+
+## Introduction
+
+Freenet has a long and somewhat complicated 25-year history. This page aims to clarify the timeline and the relationship between various projects that have evolved from the original Freenet.
+
+## Timeline and Evolution
+
+### The Birth of Freenet
+
+Freenet was initially developed in 1999 at the University of Edinburgh by Ian Clarke. It was conceived as a decentralized system for anonymous information storage and retrieval. Over time, the project evolved significantly, incorporating various rewrites and improvements.
+
+### Major Milestones
+
+- **1999**: Development of the original Freenet began at the University of Edinburgh.
+- **2005**: A significant rewrite of Freenet was initiated, further enhancing its capabilities.
+- **2019**: Development of a successor to the original Freenet, internally named "Locutus," commenced. This project was a ground-up reimagining of Freenet, incorporating lessons learned and addressing modern challenges.
+
+### The Split and Rebranding
+
+- **March 2023**: The original Freenet codebase, developed from 2005 onwards, was spun off into an independent project called "Hyphanet" under its existing maintainers.
+- Concurrently, "Locutus" was rebranded as "Freenet," also known as "Freenet 2023."
+
+## Project Summary
+
+### Original Freenet
+
+- **Initial Development**: 1999
+- **Major Rewrite**: 2005
+- **Current Status**: Spun off as "Hyphanet" in March 2023
+
+### Locutus
+
+- **Initial Development**: 2019
+- **Purpose**: Ground-up reimagining of Freenet to address modern challenges
+- **Current Status**: Rebranded as "Freenet 2023" in March 2023
+
+### Hyphanet
+
+- **Origin**: The original Freenet codebase
+- **Status**: Independent project as of March 2023
+- **Maintainers**: Original Freenet maintainers
+
+### Freenet 2023
+
+- **Origin**: Rebranding of "Locutus"
+- **Status**: Active development since March 2023
+
+## Decision Rationale
+
+The decision to rebrand Locutus as Freenet 2023 and spin off the original Freenet as Hyphanet was made after over a year of debate. As the architect of Freenet and the president of the Freenet non-profit, Ian Clarke made this decision to focus resources on the new architecture. This was driven by the need for a fresh approach to address significant changes and challenges since the original codebase was designed. The goal is to create software that can gain sufficient adoption to tackle serious issues with centralization.
+
+While some maintainers of the original codebase disagreed with this decision, it was deemed necessary to achieve Freenet's long-term goal of broad adoption.
+
+## Conclusion
+
+This timeline and summary clarify the evolution and current status of Freenet and its related projects. The renaming and restructuring were strategic decisions aimed at addressing modern challenges and ensuring the project's long-term success.
+
+---
+
+For further details and updates on Freenet, visit our [official website](https://freenetproject.org).
\ No newline at end of file
diff --git a/hugo.toml b/hugo.toml
index 05b221b9..8311fee2 100644
--- a/hugo.toml
+++ b/hugo.toml
@@ -21,8 +21,8 @@ theme = "freenet"
weight = 3
[[menu.main]]
- name = "Platform"
- url = "/dev/platform/"
+ name = "Core"
+ url = "/dev/core/"
weight = 4
parent = "Developers"
diff --git a/resources/_gen/assets/css/freenet.css_2bceb0f0a412527b058634b2e208c849.content b/resources/_gen/assets/css/freenet.css_2bceb0f0a412527b058634b2e208c849.content
new file mode 100644
index 00000000..016601a5
--- /dev/null
+++ b/resources/_gen/assets/css/freenet.css_2bceb0f0a412527b058634b2e208c849.content
@@ -0,0 +1,92 @@
+/* Hover effect for navbar item */
+.navbar-item:hover .logo-text {
+ color: #007bff;
+ /* Preferred hover color */ }
+
+/* Logo container styling */
+.logo-container {
+ display: flex;
+ align-items: center;
+ position: relative; }
+
+.logo-img {
+ max-height: 3rem; }
+
+.logo-text {
+ margin-left: 0.5rem;
+ font-family: 'Lato', sans-serif;
+ font-size: 1.5rem;
+ font-weight: 700;
+ color: #333; }
+
+/* Box and date styling */
+.box h2 {
+ margin-bottom: 0.25rem;
+ /* Reduced bottom margin */ }
+
+.date {
+ font-size: 0.875rem;
+ /* Equivalent to Bulma's is-size-7 */
+ color: #7a7a7a;
+ /* Lighter grey for the date */
+ margin: 0 0 0.5rem;
+ /* Remove top margin and adjust bottom margin */
+ line-height: 1.2;
+ /* Reduced line height */ }
+
+/* Global body font */
+body {
+ font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; }
+
+/* Container padding adjustments */
+.container {
+ padding: 0 16px;
+ /* Default padding for small screens */ }
+
+/* Remove start element */
+.rMStart {
+ display: none; }
+
+/* Page end spacer */
+p.page-end-spacer {
+ padding-bottom: 200px; }
+
+/* Custom button styles */
+.button.is-dark-blue {
+ background-color: #1a3d6d;
+ color: #ffffff; }
+
+.button.is-dark-teal {
+ background-color: #006d6d;
+ color: #ffffff; }
+
+.button.is-dark-purple {
+ background-color: #4b006e;
+ color: #ffffff; }
+
+.button.is-dark-orange {
+ background-color: #b34d00;
+ color: #ffffff; }
+
+.button.is-medium-blue {
+ background-color: #2a4d8d;
+ color: #ffffff; }
+
+.button.is-medium-teal {
+ background-color: #008282;
+ color: #ffffff; }
+
+.button.is-medium-purple {
+ background-color: #5c0088;
+ color: #ffffff; }
+
+.button.is-medium-orange {
+ background-color: #cc5e00;
+ color: #ffffff; }
+
+/* Navbar brand with border */
+.navbar-brand-with-border {
+ border-bottom: 1px solid #dbdbdb;
+ /* Adjust the color and thickness as needed */
+ display: inline-block;
+ /* Fit the content width */ }
diff --git a/resources/_gen/assets/css/freenet.css_2bceb0f0a412527b058634b2e208c849.json b/resources/_gen/assets/css/freenet.css_2bceb0f0a412527b058634b2e208c849.json
new file mode 100644
index 00000000..ff5428b1
--- /dev/null
+++ b/resources/_gen/assets/css/freenet.css_2bceb0f0a412527b058634b2e208c849.json
@@ -0,0 +1 @@
+{"Target":"/css/freenet.ae4f76d39fe1a4827c403c3a8fccb8667989bda825b9162f921c02dc941b8bef.css","MediaType":"text/css","Data":{"Integrity":"sha256-rk9205/hpIJ8QDw6j8y4ZnmJvagluRYvkhwC3JQbi+8="}}
\ No newline at end of file
diff --git a/resources/_gen/assets/css/freenet.css_511aa33e99371f93fbf403479ebfd32e.content b/resources/_gen/assets/css/freenet.css_511aa33e99371f93fbf403479ebfd32e.content
new file mode 100644
index 00000000..ce13e038
--- /dev/null
+++ b/resources/_gen/assets/css/freenet.css_511aa33e99371f93fbf403479ebfd32e.content
@@ -0,0 +1 @@
+@media screen and (max-width:1117px){.navbar-menu{display:none}.navbar-burger{display:block}}@media screen and (min-width:861px){.navbar-menu{display:block}.navbar-burger{display:none}}.navbar-menu.is-active .navbar-item.has-dropdown:hover .navbar-dropdown{display:block}.navbar-menu .navbar-item.has-dropdown .navbar-dropdown{display:none}.navbar-item:hover .logo-text{color:#007bff}.logo-container{display:flex;align-items:center;position:relative}.logo-img{max-height:3rem}.logo-text{margin-left:.5rem;font-family:lato,sans-serif;font-size:1.5rem;font-weight:700;color:#333}.box h2{margin-bottom:.25rem}.date{font-size:.875rem;color:#7a7a7a;margin:0 0 .5rem;line-height:1.2}body{font-family:Lato,helvetica neue,Arial,Helvetica,sans-serif}.container{padding:0 16px}.rMStart{display:none}p.page-end-spacer{padding-bottom:200px}.button.is-dark-blue{background-color:#1a3d6d;color:#fff}.button.is-dark-teal{background-color:#006d6d;color:#fff}.button.is-dark-purple{background-color:#4b006e;color:#fff}.button.is-dark-orange{background-color:#b34d00;color:#fff}.button.is-medium-blue{background-color:#2a4d8d;color:#fff}.button.is-medium-teal{background-color:#008282;color:#fff}.button.is-medium-purple{background-color:#5c0088;color:#fff}.button.is-medium-orange{background-color:#cc5e00;color:#fff}.navbar-brand-with-border{border-bottom:1px solid #dbdbdb;display:inline-block}
\ No newline at end of file
diff --git a/resources/_gen/assets/css/freenet.css_511aa33e99371f93fbf403479ebfd32e.json b/resources/_gen/assets/css/freenet.css_511aa33e99371f93fbf403479ebfd32e.json
new file mode 100644
index 00000000..9302057a
--- /dev/null
+++ b/resources/_gen/assets/css/freenet.css_511aa33e99371f93fbf403479ebfd32e.json
@@ -0,0 +1 @@
+{"Target":"/css/freenet.min.6fac63cda103bd92bee79db76b04b7b1d9b3089de2be412d74ef7bc37096d6d1.css","MediaType":"text/css","Data":{"Integrity":"sha256-b6xjzaEDvZK+5523awS3sdmzCJ3ivkEtdO97w3CW1tE="}}
\ No newline at end of file
diff --git a/themes/freenet/assets/css/freenet.css b/themes/freenet/assets/css/freenet.css
index 128565c1..63673026 100644
--- a/themes/freenet/assets/css/freenet.css
+++ b/themes/freenet/assets/css/freenet.css
@@ -1,34 +1,3 @@
-/* Try to adjust break point */
-
-@media screen and (max-width: 1117px) {
- .navbar-menu {
- display: none;
- }
-
- .navbar-burger {
- display: block;
- }
- }
-
- @media screen and (min-width: 861px) {
- .navbar-menu {
- display: block;
- }
-
- .navbar-burger {
- display: none;
- }
- }
-
- .navbar-menu.is-active .navbar-item.has-dropdown:hover .navbar-dropdown {
- display: block;
- }
-
- .navbar-menu .navbar-item.has-dropdown .navbar-dropdown {
- display: none;
- }
-
-
/* Hover effect for navbar item */
.navbar-item:hover .logo-text {
color: #007bff; /* Preferred hover color */
diff --git a/themes/freenet/layouts/partials/head/css.html b/themes/freenet/layouts/partials/head/css.html
index b695ae6e..40d20a0d 100644
--- a/themes/freenet/layouts/partials/head/css.html
+++ b/themes/freenet/layouts/partials/head/css.html
@@ -2,4 +2,11 @@
-
\ No newline at end of file
+{{ $freenetCSS := resources.Get "css/freenet.css" | resources.ToCSS }}
+{{ if hugo.IsProduction }}
+ {{ $freenetCSS = $freenetCSS | resources.Minify | resources.Fingerprint }}
+{{ else }}
+ {{ $freenetCSS = $freenetCSS | resources.Fingerprint }}
+{{ end }}
+
+