mirror of
https://github.com/Anon-Planet/thgtoa.git
synced 2026-06-21 04:58:04 +02:00
Compare commits
5 Commits
12b3ddc240
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 7ee67836c3 | |||
| 6b34e51bdb | |||
| 04f5036f3e | |||
| f079b5aba8 | |||
| fc3763f85c |
@@ -16,11 +16,11 @@ Welcome.
|
||||
|
||||
This is a guide with the aim of providing an introduction to various online tracking techniques, online ID verification techniques, and detailed guidance to creating and maintaining (truly) anonymous online identities. <span style="color: red">**It is written with hope for activists, journalists, scientists, lawyers, whistle-blowers, and good people being oppressed, censored, harassed anywhere!**</span> This guide has no affiliation with the [Anonymous](https://en.wikipedia.org/wiki/Anonymous_(hacker_group)) <sup>[[Wikiless]](https://wikiless.com/wiki/Anonymous_(hacker_group))</sup> <sup>[[Archive.org]](https://web.archive.org/web/https://en.wikipedia.org/wiki/Anonymous_(hacker_group))</sup> collective/movement.
|
||||
|
||||
This guide is an open-source non-profit initiative, [licensed](LICENSE.html) under **Creative Commons Attribution-NonCommercial 4.0 International** ([cc-by-nc-4.0](https://creativecommons.org/licenses/by-nc/4.0/) <sup>[[Archive.org]](https://web.archive.org/web/https://creativecommons.org/licenses/by-nc/4.0/)</sup>) and is **not sponsored/endorsed by any commercial/governmental entity**. This means that you are free to use our guide for pretty much any purpose **excluding commercially** as long as you do attribute it. There are no ads or any affiliate links.
|
||||
This guide is an open-source non-profit initiative, [licensed](LICENSE.html) under **Creative Commons Attribution-ShareAlike 4.0 International** ([cc-by-sa-4.0](https://creativecommons.org/licenses/by-sa/4.0/) <sup>[[Archive.org]](https://web.archive.org/web/https://creativecommons.org/licenses/by-sa/4.0/)</sup>) and is **not sponsored/endorsed by any commercial/governmental entity**. This means that you are free to use our guide for pretty much any purpose **excluding commercially** as long as you do attribute it. There are no ads or any affiliate links.
|
||||
|
||||
**If you would like to make a donation to help this project, you can do so from [here](donations.html) where you will also find the project goals. All the donations will be strictly used within the context of this project. All donations and spendings are logged on the donations page.**
|
||||
**If you would like to make a donation to help this project, you can do so from [here](docs/contribute/index.md) where you will also find the project goals. All the donations will be strictly used within the context of this project. All donations and spendings are logged on the donations page.**
|
||||
|
||||
**Ways to read or export the guide**
|
||||
|
||||
- **In your browser:** [Hitchhiker's Guide](https://anonymousplanet.net/) (hosted site). After a local build you can also open `site/guide/index.html` directly.
|
||||
- **Local HTML preview:** from the repository root, with Python 3 and [MkDocs Material](https://squidfunk.github.io/mkdocs-material/getting-started/) installed (`pip install mkdocs-material`), run `mkdocs serve` and open the URL printed in the terminal (for example `http://127.0.0.1:8000`).
|
||||
- **Local HTML preview:** from the repository root, with Python 3 and [MkDocs Material](https://squidfunk.github.io/mkdocs-material/getting-started/) installed (`pip install mkdocs-material`), run `mkdocs serve --livereload` and open the URL printed in the terminal (for example `http://127.0.0.1:8000`).
|
||||
|
||||
@@ -7,18 +7,17 @@ schema:
|
||||
"@id": https://anonymousplanet.net/
|
||||
name: Anonymous Planet
|
||||
url: https://anonymousplanet.net/about/
|
||||
logo: ../media/profile.png
|
||||
logo: media/profile.png
|
||||
sameAs:
|
||||
- https://github.com/Anon-Planet
|
||||
- https://opencollective.com/anonymousplanetorg
|
||||
- https://mastodon.social/@anonymousplanet
|
||||
---
|
||||
|
||||
**Anonymous Planet** are the maintainers of [_The Hitchhiker's Guide_](../guide/index.md) and the [_PSA Community_](https://psa.anonymousplanet.net). This project is part of our ongoing efforts to provide open-source tools and resources for the community, made by people with extensive knowledge in signals and forensics, and expertise in various distributions of Linux. We are providing an introduction to various online tracking techniques, online ID verification techniques, and detailed guidance to creating and maintaining (truly) anonymous online identities. It is written with the hopes that good people (e.g., activists, journalists, scientists, lawyers, whistle-blowers, etc.) will be able to fight oppression, censorship and harassment! The website and projects are free (as in freedom). We are high at risk individuals. We are not simply hackers with a bunch of recommendations and affiliate links like privacytools. To be blunt like Linus Torvalds with a bullshit Merge Request, we don't do that. Here, you will find a trove of information compiled into a single, cohesive set of instructions and sub-guides.
|
||||
**Anonymous Planet** are the maintainers of [_The Hitchhiker's Guide_](guide/index.md) and the [_PSA Community_](https://psa.anonymousplanet.net). This project is part of our ongoing efforts to provide open-source tools and resources for the community, made by people with extensive knowledge in signals and forensics, and expertise in various distributions of Linux. We are providing an introduction to various online tracking techniques, online ID verification techniques, and detailed guidance to creating and maintaining (truly) anonymous online identities. It is written with the hopes that good people (e.g., activists, journalists, scientists, lawyers, whistle-blowers, etc.) will be able to fight oppression, censorship and harassment! The website and projects are free (as in freedom). We are high at risk individuals. We are not simply hackers with a bunch of recommendations and affiliate links like privacytools. To be blunt like Linus Torvalds with a bullshit Merge Request, we don't do that. Here, you will find a trove of information compiled into a single, cohesive set of instructions and sub-guides.
|
||||
|
||||
??? Note "Where do I start?"
|
||||
|
||||
Start either by going to [the beginning](../guide/index.md) or using the search at top right of the page. It is also available at whatever point you are in your reading.
|
||||
Start either by going to [the beginning](guide/index.md) or using the search at top right of the page. It is also available at whatever point you are in your reading.
|
||||
|
||||
??? Note "Notes on the journey"
|
||||
|
||||
@@ -28,9 +27,9 @@ schema:
|
||||
|
||||
There might be some wrong or outdated information in this guide because no one is perfect. Your experience may vary. Remember, check regularly for an updated version of this guide. Please do your own independent, well-thought research. There is no one resource online that can provide 100% security, anonymity, and/or privacy.
|
||||
|
||||
- For mirrors see [Mirrors](../mirrors/index.md) and the links at the bottom right of the page. You should see these on every page.
|
||||
- For mirrors see [Mirrors](mirrors/index.md) and the links at the bottom right of the page. You should see these on every page.
|
||||
|
||||
- For help in comparing versions see [Comparing versions](../guide/index.md#appendix-a6-comparing-versions)
|
||||
- For help in comparing versions see [Comparing versions](guide/index.md#appendix-a6-comparing-versions)
|
||||
|
||||
Feel free to submit issues **(please do report anything wrong)** using GitHub Issues at: <https://github.com/Anon-Planet/thgtoa/issues>. We also accept Merge Requests (MR) from our Gitlab and many other places. Do not hesitate to report issues and suggestions!
|
||||
|
||||
@@ -45,12 +44,12 @@ Feel free to submit issues **(please do report anything wrong)** using GitHub Is
|
||||
|
||||
???+ tip "Follow us on"
|
||||
|
||||
- Twitter at <https://twitter.com/AnonyPla>
|
||||
- Mastodon at <https://mastodon.social/@anonymousplanet>
|
||||
- X at <https://x.com/anonplanetorg>
|
||||
- Mastodon at <https://ioc.exchange/@unknown>
|
||||
|
||||
To contact me, see the updated information on the website or send an e-mail to <contact@anonymousplanet.net>
|
||||
To contact Anonymous Planet, see the updated information on the website.
|
||||
|
||||
**Please consider [donating](../guide/index.md#donations) if you enjoy the project and want to support the hosting fees or support the funding of initiatives like the hosting of Tor Exit Nodes.**
|
||||
**Please consider [donating](guide/index.md#donations) if you enjoy the project and want to support the hosting fees or support the funding of initiatives like the hosting of Tor Exit Nodes.**
|
||||
|
||||
???+ example "Recommended Reading"
|
||||
|
||||
@@ -4,7 +4,7 @@ title: Impressum
|
||||
|
||||
To amend the rules and regulations of the network and of the PSA community, this constitution is hereby set forth. It is applicable to all the projects of the initiative, especially the Hitchhiker's Guide to Online Anonymity. All members/collaborators must abide by these lines when contributing within the context of the initiative.
|
||||
|
||||
## Requirements
|
||||
# Requirements
|
||||
|
||||
### Anonymity above everything
|
||||
|
||||
@@ -83,12 +83,9 @@ Any excess donations will only be used to support our main projects first and po
|
||||
|
||||
**Disclaimer: it is possible that, coincidentally, a donation could correlate with a recommendation. It will then be clearly stated that while the donation was welcome, the donating entity will not be gaining visibility/coverage/endorsement/recommendations due to such a donation.**
|
||||
|
||||
## Core Goals
|
||||
# Core Goals
|
||||
|
||||
Help people in need of anonymity to maintain both their physical and digital safety.
|
||||
|
||||
## Non-Goals
|
||||
|
||||
Help any people who are using this knowledge for bad purposes. Helping people takes precedence and we know our content can be used nefariously. Our initiative believes in having one good person given an anonymous voice, safely, is worth the risk of having several using our content for evil. As we do adhere to a fair "rule of law" system which, having 9 criminals and 1 innocent person free, is much better than having one innocent person in prison among 9 criminals.
|
||||
- Help people in need of anonymity to maintain both their physical and digital safety.
|
||||
- Help any people who are using this knowledge for bad purposes. Helping people takes precedence and we know our content can be used nefariously. Our initiative believes in having one good person given an anonymous voice, safely, is worth the risk of having several using our content for evil. As we do adhere to a fair "rule of law" system which, having 9 criminals and 1 innocent person free, is much better than having one innocent person in prison among 9 criminals.
|
||||
|
||||
**Yours faithfully, Anonymous Planet**
|
||||
|
||||
+53
-16
@@ -1,38 +1,75 @@
|
||||
---
|
||||
title: How to Get Involved
|
||||
hide:
|
||||
- toc
|
||||
- navigation
|
||||
---
|
||||
|
||||
There are multiple ways you can add to the guide. Donations to support this project are welcome but are entirely optional. Those donations are mainly used to pay for Tor onion hosting (VPS), mail hosting, domain name registration, and to maintain/run Tor exit nodes. **No profit is ever being made**. All donations and spendings are being logged here below for transparency. Some costs for load balancer servers have been omitted for privacy reasons, but are not paid for with existing Anonymous Planet finances.
|
||||
# How can I help the collective?
|
||||
|
||||
<span style="color: red">**Current project donation goals:**</span>
|
||||
Donations to support Anonymous Planet are welcome, but are entirely optional. Those donations are mainly used to pay for VPS and mail hosting, domain name registration, and to maintain/run Tor exit nodes. **No profit is ever being made**. All donations and spendings are being logged here below for transparency and a more robust designated page will be put up in the future to maintain it. For now, it's all hand-typed & calculated. Some costs for load balancer servers have been omitted for privacy reasons, but are not paid for with existing Anonymous Planet finances. Additionally, some services cannot be described as they are meant to be anonymous, such as if we used personal funds to pay for a private card aliasing service to facilitate .onion hosting. Below is all information in regards to our fiscal host (which handles our legal and financial investments) and our organizational goals.
|
||||
|
||||
- <del>Funding for a VPS for hosting our .onion website</del>: **done**
|
||||
- <del>Funding for extending our domain name</del>: **Recovery of original domain secured until 2029**
|
||||
- Funding for a decent mail hosting
|
||||
- Funding for a VPS for hosting various services
|
||||
## What is a fiscal host?
|
||||
|
||||
A **fiscal host** is an organization that accepts donations on behalf of 501(c)(3) nonprofits or other charitable entities. They handle the legal and financial infrastructure needed to process tax-deductible contributions, issue receipts for donors, manage audits, and handle payroll or grants — essentially acting as a middle layer between you (the donor) and your favorite privacy-focused project.
|
||||
|
||||
Think of it like a bank for nonprofits: if you wanted to donate directly to an independent developer building free tools, that money wouldn't qualify as tax-deductible unless the developer was already incorporated as a nonprofit with their own fiscal operations. Fiscal hosts solve this by wrapping around smaller projects with professional infrastructure.
|
||||
|
||||
### Our Fiscal Host: Open Source Collective
|
||||
|
||||
We use [Open Source Collective](https://opensourcecollective.com/) as our fiscal host. This platform is designed for independent developers building open-source software — they handle the 501(c)(3) compliance, legal requirements, and tax receipts while keeping overhead minimal.
|
||||
|
||||
## How We Plan to Use Funds
|
||||
|
||||
All donations support hosting infrastructure and operational costs:
|
||||
|
||||
- **VPS servers** for our .onion services hosting
|
||||
- **Domain registration** for long-term stability
|
||||
- **Mail hosting** for anonymous email services (Simplelogin credits, aliases)
|
||||
- **Tor exit node maintenance** to support the privacy network
|
||||
- **Load balancers** for high-availability and redundancy
|
||||
|
||||
## Future Goals
|
||||
|
||||
- Discourse for the organization, our contributors, and maintainers
|
||||
- Anyone interested in privacy and anonymity technologies
|
||||
- Knowledge sharing about security, Tor, onion services, and encrypted communications
|
||||
|
||||
Funds raised will help us expand into additional community tools while keeping our mission focused on supporting free and open-source privacy projects.
|
||||
|
||||
## Financial Goals
|
||||
|
||||
We have met two of our main financial goals.
|
||||
|
||||
- <span style="color: var(--status-success)">Funding for a decent mail hosting ✓</span>
|
||||
- <span style="color: var(--status-success)">Funding for domain (long-term) ✓</span>
|
||||
- <span style="color: var(--status-warning)">Funding for a VPS for hosting our .onion & other services</span>
|
||||
|
||||
## Donate using Monero (XMR)
|
||||
|
||||
Total Monero donations received: **7.101317184263 XMR**
|
||||
Total Monero remaining: **2.059336719397 XMR**
|
||||
- Total Monero donations received: **7.101317184263 XMR**
|
||||
- Total Monero remaining: **2.059336719397 XMR**
|
||||
|
||||
Here is the address for the main project:
|
||||
|
||||
```46crzj54eL493BA68pPT4A1MZyKQxrpZu9tVNsfsoa5nT85QqCt8cDTfy1fcTH1oyjdtUbhmpZ4QcVtfEXB337Ng6PS21ML```
|
||||
`46crzj54eL493BA68pPT4A1MZyKQxrpZu9tVNsfsoa5nT85QqCt8cDTfy1fcTH1oyjdtUbhmpZ4QcVtfEXB337Ng6PS21ML`
|
||||
|
||||
![][1]
|
||||
|
||||
## Donate using Bitcoin (BTC)
|
||||
|
||||
Total Bitcoin donations received: **1.89353 mBTC**
|
||||
Total Bitcoin remaining: **0 mBTC**
|
||||
- Total Bitcoin donations received: **1.89353 mBTC**
|
||||
- Total Bitcoin remaining: **0 mBTC**
|
||||
|
||||
Here are the addresses for the main project:
|
||||
|
||||
SegWit address: ```bc1qp9g2c6dquh5lnvft50esxsl97kupdpyqyd4kkv```
|
||||
Legacy address: ```1BBgBSVe6w4DWq2BewUQhDEjsNovhfPswD```
|
||||
- SegWit address: ```bc1qp9g2c6dquh5lnvft50esxsl97kupdpyqyd4kkv```
|
||||
|
||||
![][2]_____________________![][3]
|
||||
![][2]
|
||||
|
||||
- Legacy address: ```1BBgBSVe6w4DWq2BewUQhDEjsNovhfPswD```
|
||||
|
||||
![][3]
|
||||
|
||||
## Content Contributions
|
||||
|
||||
@@ -40,7 +77,7 @@ You can easily contribute code or information suggestions at our code repositori
|
||||
|
||||
**Thank you for any contribution. All donations will be mentioned on this page.**
|
||||
|
||||
### Donations log
|
||||
??? tip "Donations log"
|
||||
|
||||
- 2021-02-06 16:48: 0.1 XMR
|
||||
- 2021-03-15 00:09: 1.24869 mBTC
|
||||
@@ -83,7 +120,7 @@ You can easily contribute code or information suggestions at our code repositori
|
||||
- 2022-08-19: SimpleLogin.io Lifetime Premium
|
||||
- 2022-09-19: 0.345024603905 XMR (Special thanks to a previous maintainer)
|
||||
|
||||
#### Spendings log
|
||||
??? note "Spendings log"
|
||||
|
||||
- 2021-03-12: 0.08181086 XMR (+fees) for domain anonymousplanet.net (1 year)
|
||||
- 2021-03-16: 1.20179 mBTC (+fees) for domain anonymousplanet.net renewal (extension 3 years totalling 4 years)
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ schema:
|
||||
---
|
||||
<div style="text-align: center; padding: 4em 2em;">
|
||||
|
||||
<h4 style="font-family: var(--code-font); font-size: 2rem; color: var(--crt-green); letter-spacing: 0.1em; margin-bottom: 2em;">
|
||||
<h4 style="font-family: var(--font-main); font-size: 2rem; color: var(--crt-green); letter-spacing: 0.1em; margin-bottom: 2em;">
|
||||
"We kill people based on metadata."
|
||||
</h3>
|
||||
|
||||
|
||||
+13
-8
@@ -1,9 +1,13 @@
|
||||
---
|
||||
title: "Home"
|
||||
description: "The Hitchhiker's Guide to Online Anonymity"
|
||||
meta_title: "The Hitchhiker's Guide to Online Anonymity"
|
||||
description: "The comprehensive guide to online anonymity and #opsec"
|
||||
hide:
|
||||
- toc
|
||||
- navigation
|
||||
schema:
|
||||
-
|
||||
"@context": https://schema.org
|
||||
"@type": WebPage
|
||||
"@type": Organization
|
||||
"@id": https://anonymousplanet.net/
|
||||
name: Anonymous Planet
|
||||
url: https://anonymousplanet.net/
|
||||
@@ -11,16 +15,16 @@ schema:
|
||||
sameAs:
|
||||
- https://github.com/Anon-Planet
|
||||
- https://opencollective.com/anonymousplanetorg
|
||||
- https://mastodon.social/@anonymousplanet
|
||||
-
|
||||
---
|
||||
|
||||
<div style="text-align: center; font-size: 3.9rem; font-weight: 700; line-height: 1; margin: 2em 0;">
|
||||
<div style="text-align: center; font-size: 2.7rem; font-weight: 700; line-height: 1; margin: 2em 0;">
|
||||
<span>Privacy.</span><br>
|
||||
<span style="color: var(--crt-green);">Security.</span><br>
|
||||
<span>Anonymity.</span>
|
||||
</div>
|
||||
|
||||
<div style="text-align: center; font-size: 3.0rem; font-weight: 400; line-height: 0.9; margin: 2em 0;">
|
||||
<div style="text-align: center; font-size: 2rem; font-weight: 400; line-height: 0.9; margin: 2em 0;">
|
||||
<span style="color: var(--crt-green);">No ads.</span><br>
|
||||
<span style="color: var(--crt-amber);">No affiliate links.</span><br>
|
||||
<span style="color: var(--crt-red);">No bullshit.</span>
|
||||
@@ -50,14 +54,15 @@ truly anonymous identities.</p>
|
||||
<p style="margin: 0 0 1em;">Download the guide as a PDF (best for readability) or ODT. Verify integrity with the
|
||||
provided public key before trusting any downloaded file.</p>
|
||||
<a href="export/thgtoa.pdf" class="btn-download" style="min-width: auto !important; color: var(--crt-amber);">Get
|
||||
the files </a>
|
||||
the files
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="quick-access-card">
|
||||
<h3 style="font-family: var(--code-font); font-size: 1.1rem; margin: 0;">Tor</h3>
|
||||
<p style="margin: 0 0 1em;">Access the guide over the Tor network for maximum privacy. The .onion address ensures
|
||||
you reach us without exposing your IP or destination.</p>
|
||||
<a href="mirrors/" style="font-family: var(--code-font); font-size: 0.85rem; color: var(--crt-amber);">Open .onion
|
||||
<a href="mirrors/" style="font-family: var(--code-font); font-size: 0.85rem; color: var(--crt-amber);">Our .onion
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ a:not(.btn):hover::after {
|
||||
}
|
||||
|
||||
.md-typeset .admonition code {
|
||||
background-color: rgba(0, 26, 3, 0.226) !important;
|
||||
background-color: #0000005e !important;
|
||||
}
|
||||
|
||||
.admonition {
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
:root {
|
||||
--md-primary-fg-color:#4052b500;
|
||||
--md-primary-fg-color:#0000005e;
|
||||
--bg-color: #020307;
|
||||
--text-primary: #c5c5c5;
|
||||
--text-secondary: #a0a0a0;
|
||||
--accent-color: #039634;
|
||||
--border-color: #0b85005d;
|
||||
--font-main: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
||||
--font-main: 'EB Garamond', serif;
|
||||
--code-font: 'Office Code Pro', serif;
|
||||
}
|
||||
|
||||
* {
|
||||
@@ -27,7 +28,7 @@ body {
|
||||
|
||||
h1 {
|
||||
color: var(--crt-green);
|
||||
font-weight: 700;
|
||||
font-weight: 800;
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
.command-palette {
|
||||
font-family: var(--code-font);
|
||||
font-family: var(--font-main);
|
||||
font-size: 0.75rem;
|
||||
letter-spacing: 0.1em;
|
||||
text-align: center;
|
||||
|
||||
+104
-20
@@ -69,7 +69,7 @@ body > *:first-child::before {
|
||||
content: "λ ";
|
||||
animation: cursorBlink 1s step-end infinite;
|
||||
color: var(--crt-amber);
|
||||
font-family: var(--code-font);
|
||||
font-family: var(--font-main);
|
||||
margin-right: 0.25em;
|
||||
}
|
||||
|
||||
@@ -106,13 +106,13 @@ strong {
|
||||
|
||||
h1, h2 {
|
||||
color: var(--crt-amber);
|
||||
font-family: var(--code-font);
|
||||
font-family: var(--font-main);
|
||||
font-weight: bold;
|
||||
margin-right: 0.02em;}
|
||||
|
||||
h3, h4, h5, h6 {
|
||||
color: var(--crt-amber);
|
||||
font-family: var(--code-font);
|
||||
font-family: var(--font-main);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ pre {
|
||||
|
||||
pre[role="presentation"] [data-line] {
|
||||
color: var(--text-muted);
|
||||
font-family: var(--code-font);
|
||||
font-family: var(--font-main);
|
||||
user-select: none;
|
||||
min-width: 3em;
|
||||
text-align: right;
|
||||
@@ -161,13 +161,19 @@ kbd,
|
||||
border-bottom: 2px solid var(--border-color);
|
||||
border-radius: 4px;
|
||||
padding: 0.2em 0.5em;
|
||||
font-family: var(--code-font);
|
||||
font-family: var(--font-main);
|
||||
font-size: 0.85em;
|
||||
color: var(--accent-green);
|
||||
text-shadow: 0 1px 2px rgba(0, 255, 0, 0.1);
|
||||
transition: all 0.1s ease;
|
||||
}
|
||||
|
||||
code,
|
||||
kbd,
|
||||
pre {
|
||||
font-family:var(--font-main)
|
||||
}
|
||||
|
||||
kbd:hover {
|
||||
border-color: var(--accent-green);
|
||||
box-shadow: 0 2px 8px rgba(0, 255, 0, 0.2);
|
||||
@@ -212,28 +218,39 @@ kbd:hover {
|
||||
|
||||
.admonition {
|
||||
border-left: 4px solid var(--accent-green);
|
||||
background: linear-gradient(180deg,
|
||||
transparent 0%,
|
||||
rgba(0, 255, 0, 0.03) 100%
|
||||
);
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
.admonition-title {
|
||||
font-family: var(--code-font);
|
||||
font-family: var(--font-main);
|
||||
letter-spacing: 0.02em;
|
||||
text-transform: uppercase;
|
||||
font-size: 0.85em;
|
||||
color: var(--accent-green);
|
||||
background: var(--terminal-green-glow);
|
||||
background: transparent !important;
|
||||
padding: 0.4em 0.8em;
|
||||
border-radius: 4px 0 0 4px;
|
||||
}
|
||||
|
||||
.md-typeset details.admonition summary,
|
||||
.md-typeset details > .admonition-title {
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
.md-typeset details.admonition {
|
||||
border: 1px solid var(--border-color);
|
||||
background: var(--bg-primary);
|
||||
border-radius: 6px;
|
||||
overflow: hidden;
|
||||
border: none;
|
||||
background: transparent !important;
|
||||
border-radius: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.md-typeset a.headerlink {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Force all admonition summaries to be transparent */
|
||||
details[open] > summary,
|
||||
summary[open] {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
.md-typeset table:not([class]) {
|
||||
@@ -259,10 +276,7 @@ blockquote, .admonition-blockquote {
|
||||
border-left: 3px solid var(--accent-green);
|
||||
margin: 1.5em 0;
|
||||
padding-left: 1.5em;
|
||||
background: linear-gradient(90deg,
|
||||
rgba(0, 255, 0, 0.05) 0%,
|
||||
transparent 100%
|
||||
);
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
blockquote p:first-of-type::before {
|
||||
@@ -395,6 +409,58 @@ body::after::before {
|
||||
);
|
||||
}
|
||||
|
||||
/* Ensure TOC nav elements can display properly with high z-index */
|
||||
.md-nav {
|
||||
z-index: 10000 !important;
|
||||
}
|
||||
|
||||
.md-nav--secondary {
|
||||
z-index: 10000 !important;
|
||||
}
|
||||
|
||||
/* Ensure TOC nav links always have readable text */
|
||||
.md-nav__link,
|
||||
.md-nav__item {
|
||||
color: var(--crt-green) !important;
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
/* Prevent TOC nested items from inheriting bad backgrounds */
|
||||
.md-nav__list > .md-nav__nested {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
/* Smooth TOC expansion/animation */
|
||||
.md-nav__inner {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.md-nav__item.is-collapsed .md-nav__link > .md-nav__icon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Ensure nested nav items have proper z-index on hover/focus */
|
||||
.md-nav__link:focus,
|
||||
.md-nav__link:hover {
|
||||
outline-color: var(--crt-green) !important;
|
||||
outline-offset: -2px;
|
||||
}
|
||||
|
||||
/* Material for MkDocs TOC color overrides */
|
||||
.md-nav__link .md-nav__icon {
|
||||
color: var(--crt-green);
|
||||
}
|
||||
|
||||
.md-nav__item.is-parent > .md-nav__link > .md-nav__icon {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
.md-nav__item.is-parent > .md-nav__link:hover > .md-nav__icon,
|
||||
.md-nav__item.is-parent > .md-nav__link[aria-expanded="true"] > .md-nav__icon {
|
||||
transform: rotate(90deg);
|
||||
color: var(--crt-green);
|
||||
}
|
||||
|
||||
.terminal-banner {
|
||||
font-family: var(--code-font);
|
||||
font-size: 0.75em;
|
||||
@@ -431,3 +497,21 @@ body::after::before {
|
||||
);
|
||||
background-size: 10px 10px;
|
||||
}
|
||||
|
||||
/* Ensure TOC section titles are visible */
|
||||
.md-nav__title,
|
||||
.md-nav__list > .md-nav__item > .md-nav__link > .md-nav__content {
|
||||
color: var(--crt-green) !important;
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
/* Handle open/close animation properly */
|
||||
.md-typeset details[open] {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.md-typeset summary {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
}
|
||||
|
||||
.md-header__topic {
|
||||
font-family: 'JetBrains Mono', monospace;
|
||||
font-family: var(--font-main);
|
||||
font-size: 0.75rem;
|
||||
letter-spacing: -0.02em;
|
||||
opacity: 0.9;
|
||||
@@ -42,7 +42,7 @@ div[data-md-component="content"] > h3::before {
|
||||
|
||||
nav[data-md-level="1"] .md-nav__link,
|
||||
nav[data-md-level="2"] .md-nav__link {
|
||||
font-family: var(--code-font);
|
||||
font-family: var(--font-main);
|
||||
font-size: 0.9rem;
|
||||
text-transform: none;
|
||||
letter-spacing: 0.01em;
|
||||
@@ -55,7 +55,7 @@ nav[data-md-level="2"] .md-nav__link {
|
||||
}
|
||||
|
||||
.md-sidebar.nav-primary > nav > .md-nav__list > li.is-parent > .md-nav__nested > li > a {
|
||||
color: var(--text-secondary);
|
||||
color: var(--crt-green);
|
||||
}
|
||||
|
||||
.md-sidebar.nav-primary > nav > .md-nav__list > li.is-parent > .md-nav__nested > li > a:hover,
|
||||
@@ -73,7 +73,7 @@ nav[data-md-level="2"] .md-nav__link {
|
||||
}
|
||||
|
||||
.md-sidebar__inner > .md-nav__title {
|
||||
font-family: 'JetBrains Mono', monospace;
|
||||
font-family: 'EB Garamond', serif;
|
||||
font-size: 0.8rem;
|
||||
color: var(--crt-red);
|
||||
padding: 1em 1.5em;
|
||||
@@ -88,6 +88,68 @@ nav[data-md-level="2"] .md-nav__link {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
/* Ensure integrated TOC nav is always visible */
|
||||
.md-nav__link,
|
||||
.md-nav__item {
|
||||
color: var(--crt-green) !important;
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
.md-nav__list > .md-nav__nested > li > a {
|
||||
color: var(--crt-green) !important;
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
.md-nav__list > .md-nav__nested > li > a:hover,
|
||||
.md-nav__list > .md-nav__nested > li > a.md-nav--opened,
|
||||
.md-nav__list > .md-nav__nested > li > a.is-active {
|
||||
color: var(--crt-green) !important;
|
||||
}
|
||||
|
||||
/* Ensure nested TOC items are visible */
|
||||
.md-typeset details summary,
|
||||
.md-typeset details[open] {
|
||||
padding: 0.5em;
|
||||
margin: 0.25em 0;
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
.md-typeset details summary::-webkit-details-marker {
|
||||
color: var(--crt-green);
|
||||
}
|
||||
|
||||
/* Ensure admonition summaries are always transparent */
|
||||
.md-typeset details.admonition summary,
|
||||
summary[data-type="admonition"],
|
||||
.summary-admonition {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
/* Smooth expansion of nested nav items */
|
||||
.md-nav__inner {
|
||||
transition: max-height 0.3s ease-out;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
/* Ensure all nested TOC links are readable */
|
||||
.md-nav__list > li > .md-nav__link,
|
||||
.md-nav__list > li.is-parent > .md-nav__nested > li > .md-nav__link {
|
||||
color: var(--crt-green) !important;
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
/* Active/expanded states for integrated TOC */
|
||||
.md-nav__link[aria-current="page"],
|
||||
.md-nav__item.is-active > .md-nav__link,
|
||||
.md-nav__list > li.is-parent > .md-nav__nested > li > a.md-nav--opened {
|
||||
color: var(--crt-green) !important;
|
||||
}
|
||||
|
||||
/* Fix for expanded nested lists */
|
||||
.md-sidebar.nav-primary > nav > .md-nav__list > li.is-parent > .md-nav__nested > li {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
.md-typeset {
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
---
|
||||
name: footer-social-inline-fix
|
||||
description: Social icons now display inline on same line instead of wrapping (including Codeberg)
|
||||
metadata:
|
||||
type: project
|
||||
category: styling
|
||||
affects: social-links, extra
|
||||
---
|
||||
|
||||
Fixed MkDocs Material theme's social links to always display on the same line without wrapping.
|
||||
|
||||
**What was wrong:**
|
||||
- The `.social` elements were displaying as `display: flex` (block-level by default in Material theme)
|
||||
- Icons and labels were wrapping onto separate lines instead of staying inline
|
||||
- Extra CSS wasn't overriding the Material theme's default behavior
|
||||
- Long text names like "Codeberg" were causing overflow and line breaks
|
||||
|
||||
**What I fixed:**
|
||||
1. Added comprehensive CSS rules in `docs/stylesheets/footer-fix.css`:
|
||||
- Force `.social` and `.social__link` to use `display: inline-flex !important`
|
||||
- Set `white-space: nowrap` to prevent text wrapping
|
||||
- Configure flex container with proper gap (0.75em) between icons
|
||||
- Fix icon sizes with explicit `width: 24px`, `height: 24px`
|
||||
- Target specific social container classes (`#social`, `.md-social-list`)
|
||||
- Handle long text names with truncation/ellipsis for Codeberg
|
||||
- Override all potential block-level ancestors and pseudo-elements
|
||||
- Adjust spacing and sizes for mobile responsive breakpoints
|
||||
|
||||
2. Applied `!important` flags throughout to override Material theme defaults
|
||||
|
||||
**Result:**
|
||||
All social icons (Mastodon, Gitlab, Gitea, Github, Gitlab, Codeberg) now appear on the same line in the footer/copyright section, matching a cleaner horizontal layout without unwanted line breaks. Long names like "Codeberg" are handled via truncation if needed while keeping everything inline.
|
||||
|
||||
See also: [[footer-license-cleanup-20260614]]
|
||||
+11
-6
@@ -40,7 +40,7 @@ plugins:
|
||||
- social: {}
|
||||
- search:
|
||||
separator: '[\s\u200b\-_,:!=\[\]()"`/]+|\.(?!\d)|&[lg]t;|(?!\b)(?=[A-Z][a-z])'
|
||||
- meta: {}
|
||||
# - meta: {}
|
||||
|
||||
# Soon this will all be minified (It's a personal WIP)
|
||||
extra_css:
|
||||
@@ -58,10 +58,12 @@ extra_css:
|
||||
# - stylesheets/print-and-utilities.css
|
||||
|
||||
extra:
|
||||
scope: /
|
||||
homepage: /
|
||||
social:
|
||||
- icon: simple/mastodon
|
||||
link: https://mastodon.social/@anonymousplanet
|
||||
name: Mastodon
|
||||
link: https://ioc.exchange/@unknown
|
||||
name: "Follow us on Mastodon"
|
||||
- icon: simple/gitlab
|
||||
link: http://wmj5kiic7b6kjplpbvwadnht2nh2qnkbnqtcv3dyvpqtz7ssbssftxid.onion/
|
||||
name: "0xacab"
|
||||
@@ -77,6 +79,9 @@ extra:
|
||||
- icon: simple/codeberg
|
||||
link: https://codeberg.org/anonymousplanet
|
||||
name: Codeberg
|
||||
- icon: simple/x
|
||||
link: https://x.com/anonplanetorg
|
||||
name: "Follow us on X"
|
||||
# - icon: simple/torbrowser
|
||||
# link: http://thgtoa3jzy3doku7hkna32htpghjijefscwvh4dyjgfydbbjkeiohgid.onion/
|
||||
# name: Hidden service
|
||||
@@ -115,7 +120,7 @@ markdown_extensions:
|
||||
- attr_list: {}
|
||||
- def_list: {}
|
||||
- md_in_html: {}
|
||||
- meta: {}
|
||||
# - meta: {}
|
||||
- abbr: {}
|
||||
- tables: {}
|
||||
- footnotes: {}
|
||||
@@ -124,7 +129,7 @@ markdown_extensions:
|
||||
toc_depth: 3
|
||||
|
||||
nav:
|
||||
- "Home": index.md
|
||||
- "Home": "index.md"
|
||||
- "Verify": verify/index.md
|
||||
- "Guide": guide/index.md
|
||||
- "Code": code/index.md
|
||||
@@ -132,5 +137,5 @@ nav:
|
||||
- "A Constitution": constitution/index.md
|
||||
- "Mirrors": mirrors/index.md
|
||||
- "Changelog": changelog/index.md
|
||||
- "About": about/index.md
|
||||
- "About": about.md
|
||||
- "PGP": pgp/index.md
|
||||
|
||||
Reference in New Issue
Block a user