7621 lines
141 KiB
HTML

<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="Documentation for The Bunker Operations, a community-driven project focused on creating a self-hosted, open-source platform for personal and community use.">
<meta name="author" content="Bunker Ops">
<link rel="canonical" href="http://docs.bnkops.org/archive/cm.archive/">
<link rel="prev" href="../">
<link rel="next" href="Why%20Change%20Maker/">
<link rel="icon" href="../../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.14">
<title>Welcome to Bnkops Change Maker V3 - BNKops Documentation & Repository</title>
<link rel="stylesheet" href="../../assets/stylesheets/main.342714a4.min.css">
<link rel="stylesheet" href="../../assets/stylesheets/palette.06af60db.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link rel="stylesheet" href="../../stylesheets/extra.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="../../stylesheets/extra-cm-archive.css">
<link rel="stylesheet" href="../../stylesheets/home.css">
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<meta property="og:type" content="website" >
<meta property="og:title" content="Welcome to Bnkops Change Maker V3 - BNKops Documentation & Repository" >
<meta property="og:description" content="Documentation for The Bunker Operations, a community-driven project focused on creating a self-hosted, open-source platform for personal and community use." >
<meta property="og:image" content="http://docs.bnkops.org/assets/images/social/archive/cm.archive/index.png" >
<meta property="og:image:type" content="image/png" >
<meta property="og:image:width" content="1200" >
<meta property="og:image:height" content="630" >
<meta property="og:url" content="http://docs.bnkops.org/archive/cm.archive/" >
<meta name="twitter:card" content="summary_large_image" >
<meta name="twitter:title" content="Welcome to Bnkops Change Maker V3 - BNKops Documentation & Repository" >
<meta name="twitter:description" content="Documentation for The Bunker Operations, a community-driven project focused on creating a self-hosted, open-source platform for personal and community use." >
<meta name="twitter:image" content="http://docs.bnkops.org/assets/images/social/archive/cm.archive/index.png" >
</head>
<body dir="ltr" data-md-color-scheme="slate" data-md-color-primary="deep-purple" data-md-color-accent="amber">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
</div>
<div data-md-component="announce">
<aside class="md-banner">
<div class="md-banner__inner md-grid md-typeset">
<a href="https://homepage.bnkops.com" class="login-button">Login</a>
New website! Heck yeah!
</div>
</aside>
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../.." title="BNKops Documentation &amp; Repository" class="md-header__button md-logo" aria-label="BNKops Documentation & Repository" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
BNKops Documentation & Repository
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Welcome to Bnkops Change Maker V3
</span>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item">
<a href="../.." class="md-tabs__link">
Home
</a>
</li>
<li class="md-tabs__item">
<a href="../../cm/" class="md-tabs__link">
Changemaker
</a>
</li>
<li class="md-tabs__item md-tabs__item--active">
<a href="../" class="md-tabs__link">
Archive
</a>
</li>
</ul>
</div>
</nav>
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../.." title="BNKops Documentation &amp; Repository" class="md-nav__button md-logo" aria-label="BNKops Documentation & Repository" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
</a>
BNKops Documentation & Repository
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../.." class="md-nav__link">
<span class="md-ellipsis">
Home
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<div class="md-nav__link md-nav__container">
<a href="../../cm/" class="md-nav__link ">
<span class="md-ellipsis">
Changemaker
</span>
</a>
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
Changemaker
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../cm/readme/" class="md-nav__link">
<span class="md-ellipsis">
Get Started
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3" >
<div class="md-nav__link md-nav__container">
<a href="../../cm/apps/" class="md-nav__link ">
<span class="md-ellipsis">
Applications
</span>
</a>
<label class="md-nav__link " for="__nav_2_3" id="__nav_2_3_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_3">
<span class="md-nav__icon md-icon"></span>
Applications
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../cm/apps/homepage/" class="md-nav__link">
<span class="md-ellipsis">
Homepage Dashboard
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../cm/apps/code-server/" class="md-nav__link">
<span class="md-ellipsis">
Code Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../cm/apps/flatnotes/" class="md-nav__link">
<span class="md-ellipsis">
Flatnotes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../cm/apps/listmonk/" class="md-nav__link">
<span class="md-ellipsis">
Listmonk
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../cm/apps/nocodb/" class="md-nav__link">
<span class="md-ellipsis">
NocoDB
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../cm/apps/mkdocs-material/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs Material
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../cm/apps/excalidraw/" class="md-nav__link">
<span class="md-ellipsis">
Excalidraw
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../cm/apps/gitea/" class="md-nav__link">
<span class="md-ellipsis">
Gitea
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../cm/apps/openwebui/" class="md-nav__link">
<span class="md-ellipsis">
OpenWebUI
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../cm/apps/monica-crm/" class="md-nav__link">
<span class="md-ellipsis">
Monica CRM
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../cm/apps/answer/" class="md-nav__link">
<span class="md-ellipsis">
Answer
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../cm/apps/ferdium/" class="md-nav__link">
<span class="md-ellipsis">
Ferdium
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../cm/apps/rocketchat/" class="md-nav__link">
<span class="md-ellipsis">
Rocket.Chat
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../cm/apps/portainer/" class="md-nav__link">
<span class="md-ellipsis">
Portainer (Docker UI)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../cm/apps/n8n/" class="md-nav__link">
<span class="md-ellipsis">
n8n (Workflow Automation)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4" >
<div class="md-nav__link md-nav__container">
<a href="../../cm/guides/" class="md-nav__link ">
<span class="md-ellipsis">
Guides
</span>
</a>
<label class="md-nav__link " for="__nav_2_4" id="__nav_2_4_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_4">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../cm/guides/authoring-content/" class="md-nav__link">
<span class="md-ellipsis">
Authoring Content
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../cm/guides/listmonk/" class="md-nav__link">
<span class="md-ellipsis">
Listmonk
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../cm/guides/ollama-vscode/" class="md-nav__link">
<span class="md-ellipsis">
Using Ollama in VS Code
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../quick-commands/" class="md-nav__link">
<span class="md-ellipsis">
Quick Commands
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked>
<div class="md-nav__link md-nav__container">
<a href="../" class="md-nav__link ">
<span class="md-ellipsis">
Archive
</span>
</a>
<label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
Archive
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2" checked>
<div class="md-nav__link md-nav__container">
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Change Maker Archive
</span>
</a>
<label class="md-nav__link md-nav__link--active" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_3_2">
<span class="md-nav__icon md-icon"></span>
Change Maker Archive
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="Why%20Change%20Maker/" class="md-nav__link">
<span class="md-ellipsis">
Why Change Maker
</span>
</a>
</li>
<li class="md-nav__item">
<a href="Feature%20Tracking/" class="md-nav__link">
<span class="md-ellipsis">
Feature Tracking
</span>
</a>
</li>
<li class="md-nav__item">
<a href="Free%28ish%29/" class="md-nav__link">
<span class="md-ellipsis">
Free(ish)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="Who%20is%20bnkops/" class="md-nav__link">
<span class="md-ellipsis">
Who is bnkops
</span>
</a>
</li>
<li class="md-nav__item">
<a href="known%20bugs/" class="md-nav__link">
<span class="md-ellipsis">
Known Bugs
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_7" >
<div class="md-nav__link md-nav__container">
<a href="manuals/" class="md-nav__link ">
<span class="md-ellipsis">
Install & Manuals
</span>
</a>
<label class="md-nav__link " for="__nav_3_2_7" id="__nav_3_2_7_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_2_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2_7">
<span class="md-nav__icon md-icon"></span>
Install & Manuals
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="manuals/prerequisites/" class="md-nav__link">
<span class="md-ellipsis">
Prerequisites
</span>
</a>
</li>
<li class="md-nav__item">
<a href="manuals/Installation/" class="md-nav__link">
<span class="md-ellipsis">
Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="manuals/Build%20Site/" class="md-nav__link">
<span class="md-ellipsis">
Reset & Build
</span>
</a>
</li>
<li class="md-nav__item">
<a href="manuals/Backend%20%26%20Editor/" class="md-nav__link">
<span class="md-ellipsis">
Backend & Editor
</span>
</a>
</li>
<li class="md-nav__item">
<a href="manuals/Simple%20Markdown%20Guide/" class="md-nav__link">
<span class="md-ellipsis">
Simple Markdown Guide
</span>
</a>
</li>
<li class="md-nav__item">
<a href="manuals/button/" class="md-nav__link">
<span class="md-ellipsis">
Simple Button
</span>
</a>
</li>
<li class="md-nav__item">
<a href="manuals/Commands/" class="md-nav__link">
<span class="md-ellipsis">
Commands
</span>
</a>
</li>
<li class="md-nav__item">
<a href="manuals/obsidian/" class="md-nav__link">
<span class="md-ellipsis">
Use Obsidian as Site Editor
</span>
</a>
</li>
<li class="md-nav__item">
<a href="manuals/Code%20Snippets/" class="md-nav__link">
<span class="md-ellipsis">
Code Snippets
</span>
</a>
</li>
<li class="md-nav__item">
<a href="manuals/Customize%20Your%20Landing%20Page/" class="md-nav__link">
<span class="md-ellipsis">
Customize Your Landing Page
</span>
</a>
</li>
<li class="md-nav__item">
<a href="manuals/listmonk/" class="md-nav__link">
<span class="md-ellipsis">
Listmonk
</span>
</a>
</li>
<li class="md-nav__item">
<a href="manuals/NocoDB/" class="md-nav__link">
<span class="md-ellipsis">
NocoDB
</span>
</a>
</li>
<li class="md-nav__item">
<a href="manuals/Examples/" class="md-nav__link">
<span class="md-ellipsis">
Example Political Apps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="manuals/Get%20Site%20Online/" class="md-nav__link">
<span class="md-ellipsis">
Get Online
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_8" >
<div class="md-nav__link md-nav__container">
<a href="blog/" class="md-nav__link ">
<span class="md-ellipsis">
Blog
</span>
</a>
<label class="md-nav__link " for="__nav_3_2_8" id="__nav_3_2_8_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_2_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2_8">
<span class="md-nav__icon md-icon"></span>
Blog
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="blog/posts/Admin%20Log/" class="md-nav__link">
<span class="md-ellipsis">
Admin Log
</span>
</a>
</li>
<li class="md-nav__item">
<a href="blog/posts/Newsletter%201.0/" class="md-nav__link">
<span class="md-ellipsis">
Newsletter 1.0
</span>
</a>
</li>
<li class="md-nav__item">
<a href="blog/posts/The%20Revolution%20Will%20Not%20Get%20Likes/" class="md-nav__link">
<span class="md-ellipsis">
The Revolution Will Not Get Likes
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_8_5" >
<label class="md-nav__link" for="__nav_3_2_8_5" id="__nav_3_2_8_5_label" tabindex="0">
<span class="md-ellipsis">
Updates
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_2_8_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2_8_5">
<span class="md-nav__icon md-icon"></span>
Updates
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="blog/posts/Update%201/" class="md-nav__link">
<span class="md-ellipsis">
Update 1
</span>
</a>
</li>
<li class="md-nav__item">
<a href="blog/posts/Update%202/" class="md-nav__link">
<span class="md-ellipsis">
Update 2
</span>
</a>
</li>
<li class="md-nav__item">
<a href="blog/posts/Update%203/" class="md-nav__link">
<span class="md-ellipsis">
Update 3
</span>
</a>
</li>
<li class="md-nav__item">
<a href="blog/posts/Update%204/" class="md-nav__link">
<span class="md-ellipsis">
Update 4
</span>
</a>
</li>
<li class="md-nav__item">
<a href="blog/posts/Update%205/" class="md-nav__link">
<span class="md-ellipsis">
Update 5
</span>
</a>
</li>
<li class="md-nav__item">
<a href="blog/posts/Update%206/" class="md-nav__link">
<span class="md-ellipsis">
Update 6
</span>
</a>
</li>
<li class="md-nav__item">
<a href="blog/posts/Update%207/" class="md-nav__link">
<span class="md-ellipsis">
Update 7
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="blog/posts/myfirst/" class="md-nav__link">
<span class="md-ellipsis">
My First
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="https://repo.bnkops.com/Home.html" class="md-nav__link">
<span class="md-ellipsis">
External Resources
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3" >
<div class="md-nav__link md-nav__container">
<a href="../repo.archive/" class="md-nav__link ">
<span class="md-ellipsis">
Repo Archive
</span>
</a>
<label class="md-nav__link " for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<span class="md-nav__icon md-icon"></span>
Repo Archive
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../repo.archive/How%20to%20Navigate%20the%20Repo%20%F0%9F%A4%94/" class="md-nav__link">
<span class="md-ellipsis">
Navigation Guide
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/What%20is%20a%20Repo%20and%20Why%20Make%20One%20%F0%9F%92%AD%20%F0%9F%8D%84/" class="md-nav__link">
<span class="md-ellipsis">
What is a Repo
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_4" >
<label class="md-nav__link" for="__nav_3_3_4" id="__nav_3_3_4_label" tabindex="0">
<span class="md-ellipsis">
Admin Log
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3_4">
<span class="md-nav__icon md-icon"></span>
Admin Log
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/2024-09-16/" class="md-nav__link">
<span class="md-ellipsis">
2024-09-16
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/2024-09-20/" class="md-nav__link">
<span class="md-ellipsis">
2024-09-20
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/2024-09-23/" class="md-nav__link">
<span class="md-ellipsis">
2024-09-23
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/2024-09-24/" class="md-nav__link">
<span class="md-ellipsis">
2024-09-24
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/2024-09-26/" class="md-nav__link">
<span class="md-ellipsis">
2024-09-26
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/2024-09-27/" class="md-nav__link">
<span class="md-ellipsis">
2024-09-27
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/2024-10-02/" class="md-nav__link">
<span class="md-ellipsis">
2024-10-02
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/2024-10-04/" class="md-nav__link">
<span class="md-ellipsis">
2024-10-04
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/2024-10-05/" class="md-nav__link">
<span class="md-ellipsis">
2024-10-05
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/2024-10-09/" class="md-nav__link">
<span class="md-ellipsis">
2024-10-09
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/2024-10-16/" class="md-nav__link">
<span class="md-ellipsis">
2024-10-16
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/2024-10-18/" class="md-nav__link">
<span class="md-ellipsis">
2024-10-18
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/2024-10-21/" class="md-nav__link">
<span class="md-ellipsis">
2024-10-21
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_4_14" >
<label class="md-nav__link" for="__nav_3_3_4_14" id="__nav_3_3_4_14_label" tabindex="0">
<span class="md-ellipsis">
Newsletters
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_3_4_14_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3_4_14">
<span class="md-nav__icon md-icon"></span>
Newsletters
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/Newsletter%201.0/" class="md-nav__link">
<span class="md-ellipsis">
Newsletter 1.0
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/Newsletter%201.1/" class="md-nav__link">
<span class="md-ellipsis">
Newsletter 1.1
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/Newsletter%201.2/" class="md-nav__link">
<span class="md-ellipsis">
Newsletter 1.2
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/Newsletter%201.3/" class="md-nav__link">
<span class="md-ellipsis">
Newsletter 1.3
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/Newsletter%201.4/" class="md-nav__link">
<span class="md-ellipsis">
Newsletter 1.4
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Admin%20Log%20%E2%8F%AD/Newsletter%201.5/" class="md-nav__link">
<span class="md-ellipsis">
Newsletter 1.5
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_5" >
<label class="md-nav__link" for="__nav_3_3_5" id="__nav_3_3_5_label" tabindex="0">
<span class="md-ellipsis">
Clippings
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_3_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3_5">
<span class="md-nav__icon md-icon"></span>
Clippings
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../repo.archive/Clippings%20%E2%9C%82/Bot%20campaign%20backing%20Pierre%20Poilievre%20looks%20the%20work%20of%20an%20amateur%2C%20experts%20say%20%20CBC%20News/" class="md-nav__link">
<span class="md-ellipsis">
Bot campaign
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Clippings%20%E2%9C%82/Bots%20on%20X%20worse%20than%20ever%20according%20to%20analysis%20of%201m%20tweets%20during%20first%20Republican%20primary%20debate/" class="md-nav__link">
<span class="md-ellipsis">
Bots on X
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Clippings%20%E2%9C%82/DO%20YOU%20KNOW%20MUSHROOMS%20CAN%20TALK%20TO%20EACH%20OTHER/" class="md-nav__link">
<span class="md-ellipsis">
Mushrooms Talk
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Clippings%20%E2%9C%82/Elon%20Musk%20Fires%20Twitter%20Employees%20Who%20Criticized%20Him%20%28Published%202022%29/" class="md-nav__link">
<span class="md-ellipsis">
Elon Musk Fires Twitter Employees
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Clippings%20%E2%9C%82/NationBuilder%20-%20Wikipedia/" class="md-nav__link">
<span class="md-ellipsis">
NationBuilder
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Clippings%20%E2%9C%82/Neo-Nazis%2C%20Antisemites%2C%20and%20the%20N-Word%20Twitter%20Just%20Hours%20Under%20Elon%20Musk/" class="md-nav__link">
<span class="md-ellipsis">
Neo-Nazis on Twitter
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Clippings%20%E2%9C%82/Phone%20security%20for%20activists%20%20Activist%20Handbook/" class="md-nav__link">
<span class="md-ellipsis">
Phone Security
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Clippings%20%E2%9C%82/Saudi%20infiltration%20of%20Twitter%20-%20Wikipedia/" class="md-nav__link">
<span class="md-ellipsis">
Saudi infiltration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Clippings%20%E2%9C%82/The%20majority%20of%20traffic%20from%20Elon%20Musk%27s%20X%20may%20have%20been%20fake%20during%20the%20Super%20Bowl%2C%20report%20suggests/" class="md-nav__link">
<span class="md-ellipsis">
X Fake Traffic
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Clippings%20%E2%9C%82/The%20right-wing%20lurch%20of%20X%20under%20Elon%20Musk/" class="md-nav__link">
<span class="md-ellipsis">
X Right-Wing Lurch
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Clippings%20%E2%9C%82/Under%20Elon%20Musk%2C%20Twitter%20has%20approved%2083%25%20of%20censorship%20requests%20by%20authoritarian%20governments/" class="md-nav__link">
<span class="md-ellipsis">
X Censorship
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Clippings%20%E2%9C%82/What%20Is%20Technofeudalism/" class="md-nav__link">
<span class="md-ellipsis">
Technofeudalism
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Clippings%20%E2%9C%82/amiskwaciy-w%C3%A2skahikan%20%28Edmonton%29%20History%20%20%E2%80%94%20Edmonton%20%26%20Area%20Land%20Trust/" class="md-nav__link">
<span class="md-ellipsis">
Edmonton History
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_6" >
<label class="md-nav__link" for="__nav_3_3_6" id="__nav_3_3_6_label" tabindex="0">
<span class="md-ellipsis">
Daisy AI
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_3_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3_6">
<span class="md-nav__icon md-icon"></span>
Daisy AI
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../repo.archive/Daisy%20AI%20%F0%9F%8C%BB/Daisy/" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_6_2" >
<label class="md-nav__link" for="__nav_3_3_6_2" id="__nav_3_3_6_2_label" tabindex="0">
<span class="md-ellipsis">
Further Reading
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_3_6_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3_6_2">
<span class="md-nav__icon md-icon"></span>
Further Reading
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../repo.archive/Daisy%20AI%20%F0%9F%8C%BB/Further%20Reading%20on%20AI/Bnkops%20Artificial%20Intelligence%20Thoughts%20%26%20Policies/" class="md-nav__link">
<span class="md-ellipsis">
AI Thoughts & Policies
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Daisy%20AI%20%F0%9F%8C%BB/Further%20Reading%20on%20AI/How%20To%20Prompt/" class="md-nav__link">
<span class="md-ellipsis">
How To Prompt
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Daisy%20AI%20%F0%9F%8C%BB/Further%20Reading%20on%20AI/When%20A.I.%27s%20Output%20Is%20a%20Threat%20to%20A.I.%20Itself/" class="md-nav__link">
<span class="md-ellipsis">
AI Threats
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_7" >
<label class="md-nav__link" for="__nav_3_3_7" id="__nav_3_3_7_label" tabindex="0">
<span class="md-ellipsis">
Free Office Software
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_3_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3_7">
<span class="md-nav__icon md-icon"></span>
Free Office Software
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../repo.archive/Free%20Office%20Software%20Stack%20%F0%9F%A4%AF/Newsletter%20%2B%20Database/" class="md-nav__link">
<span class="md-ellipsis">
Newsletter + Database
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Free%20Office%20Software%20Stack%20%F0%9F%A4%AF/The%20Bunker%20Ops%20Server%20Build-Out/" class="md-nav__link">
<span class="md-ellipsis">
Server Build-Out
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Free%20Office%20Software%20Stack%20%F0%9F%A4%AF/The%20Stack/" class="md-nav__link">
<span class="md-ellipsis">
The Stack
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_8" >
<label class="md-nav__link" for="__nav_3_3_8" id="__nav_3_3_8_label" tabindex="0">
<span class="md-ellipsis">
Website Manuals
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_3_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3_8">
<span class="md-nav__icon md-icon"></span>
Website Manuals
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../repo.archive/Website%20Manuals%20%F0%9F%A4%93/Budibase%20-%20Form%20Builder%20%26%20Database/" class="md-nav__link">
<span class="md-ellipsis">
Budibase
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Website%20Manuals%20%F0%9F%A4%93/Cloudflare%20Guide/" class="md-nav__link">
<span class="md-ellipsis">
Cloudflare Guide
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Website%20Manuals%20%F0%9F%A4%93/Customizing%20Your%20Listmonk%20Subscription%20Form/" class="md-nav__link">
<span class="md-ellipsis">
Listmonk Form
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Website%20Manuals%20%F0%9F%A4%93/How%20to%20Add%20to%20the%20Repo/" class="md-nav__link">
<span class="md-ellipsis">
Add to Repo
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Website%20Manuals%20%F0%9F%A4%93/How%20to%20Replicate%20this%20Repo/" class="md-nav__link">
<span class="md-ellipsis">
Replicate Repo
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Website%20Manuals%20%F0%9F%A4%93/Repo%20Live%20Generation/" class="md-nav__link">
<span class="md-ellipsis">
Repo Live Generation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Website%20Manuals%20%F0%9F%A4%93/Repo%20Theory/" class="md-nav__link">
<span class="md-ellipsis">
Repo Theory
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Website%20Manuals%20%F0%9F%A4%93/Simple%20Markdown%20Manual/" class="md-nav__link">
<span class="md-ellipsis">
Markdown Manual
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Website%20Manuals%20%F0%9F%A4%93/Simple%20Target%20Manual/" class="md-nav__link">
<span class="md-ellipsis">
Target Manual
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Website%20Manuals%20%F0%9F%A4%93/Syntax%2C%20Embedding%2C%20HTML%2C%20and%20Other%20Code/" class="md-nav__link">
<span class="md-ellipsis">
Syntax & Code
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Website%20Manuals%20%F0%9F%A4%93/Updated%20Website%20Install%20Guide/" class="md-nav__link">
<span class="md-ellipsis">
Website Install Guide
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Website%20Manuals%20%F0%9F%A4%93/bnkops%20Simple%20Targeter/" class="md-nav__link">
<span class="md-ellipsis">
Simple Targeter
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Website%20Manuals%20%F0%9F%A4%93/note_test/" class="md-nav__link">
<span class="md-ellipsis">
Note Test
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_9" >
<label class="md-nav__link" for="__nav_3_3_9" id="__nav_3_3_9_label" tabindex="0">
<span class="md-ellipsis">
Zines We Like
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_3_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3_9">
<span class="md-nav__icon md-icon"></span>
Zines We Like
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../repo.archive/Zines%20We%20Like%20%F0%9F%98%8E/Bounty%20Hunters%20%26%20Child%20Predators/" class="md-nav__link">
<span class="md-ellipsis">
Bounty Hunters & Child Predators
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Zines%20We%20Like%20%F0%9F%98%8E/Defending%20The%20Camp/" class="md-nav__link">
<span class="md-ellipsis">
Defending The Camp
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Zines%20We%20Like%20%F0%9F%98%8E/Doxcare/" class="md-nav__link">
<span class="md-ellipsis">
Doxcare
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Zines%20We%20Like%20%F0%9F%98%8E/Mobile%20Phone%20Security%20for%20Activists/" class="md-nav__link">
<span class="md-ellipsis">
Mobile Phone Security
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Zines%20We%20Like%20%F0%9F%98%8E/Security%20%26%20Counter-Surveillance/" class="md-nav__link">
<span class="md-ellipsis">
Security & Counter-Surveillance
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Zines%20We%20Like%20%F0%9F%98%8E/Turn%20Off%20Your%20Phone/" class="md-nav__link">
<span class="md-ellipsis">
Turn Off Your Phone
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Zines%20We%20Like%20%F0%9F%98%8E/What%20Is%20Security%20Culture%20%E2%98%A0/" class="md-nav__link">
<span class="md-ellipsis">
Security Culture
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/Zines%20We%20Like%20%F0%9F%98%8E/Who%20Wrote%20That/" class="md-nav__link">
<span class="md-ellipsis">
Who Wrote That
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_10" >
<label class="md-nav__link" for="__nav_3_3_10" id="__nav_3_3_10_label" tabindex="0">
<span class="md-ellipsis">
User Contributions
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_3_10_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3_10">
<span class="md-nav__icon md-icon"></span>
User Contributions
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_10_1" >
<label class="md-nav__link" for="__nav_3_3_10_1" id="__nav_3_3_10_1_label" tabindex="0">
<span class="md-ellipsis">
indoctrinationmachine
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_3_10_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3_10_1">
<span class="md-nav__icon md-icon"></span>
indoctrinationmachine
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../repo.archive/indoctrinationmachine/Hello%2C%20is%20it%20me%20you%27re%20looking%20foooooor%3F/" class="md-nav__link">
<span class="md-ellipsis">
Hello
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/indoctrinationmachine/My%20Sad%20Drive%20to%20Work/" class="md-nav__link">
<span class="md-ellipsis">
Sad Drive
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/indoctrinationmachine/The%20Revolution%20must%20center%20pleasure%20%28and%20other%20cool%20wallpapers%29/" class="md-nav__link">
<span class="md-ellipsis">
Revolution & Pleasure
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_10_2" >
<label class="md-nav__link" for="__nav_3_3_10_2" id="__nav_3_3_10_2_label" tabindex="0">
<span class="md-ellipsis">
mygenderdisdad
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_3_10_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3_10_2">
<span class="md-nav__icon md-icon"></span>
mygenderdisdad
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../repo.archive/mygenderdisdad/mygenderisdad/organizing/" class="md-nav__link">
<span class="md-ellipsis">
organizing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/mygenderdisdad/mygenderisdad/prairie/" class="md-nav__link">
<span class="md-ellipsis">
prairie
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/mygenderdisdad/mygenderisdad/radical/" class="md-nav__link">
<span class="md-ellipsis">
radical
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/mygenderdisdad/mygenderisdad/school/" class="md-nav__link">
<span class="md-ellipsis">
school
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/mygenderdisdad/mygenderisdad/youth/" class="md-nav__link">
<span class="md-ellipsis">
youth
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_10_3" >
<label class="md-nav__link" for="__nav_3_3_10_3" id="__nav_3_3_10_3_label" tabindex="0">
<span class="md-ellipsis">
strategicallydum
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_3_10_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3_10_3">
<span class="md-nav__icon md-icon"></span>
strategicallydum
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../repo.archive/strategicallydum/Resource%20%26%20Tools%20for%20Research/" class="md-nav__link">
<span class="md-ellipsis">
Research Tools
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/strategicallydum/What%20is%20Audience%20Research%3F/" class="md-nav__link">
<span class="md-ellipsis">
Audience Research
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/strategicallydum/Homelessness/Messaging%20Research%20Drop/" class="md-nav__link">
<span class="md-ellipsis">
Homelessness Research
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_10_4" >
<label class="md-nav__link" for="__nav_3_3_10_4" id="__nav_3_3_10_4_label" tabindex="0">
<span class="md-ellipsis">
thatreallyblondehuman
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_3_10_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3_10_4">
<span class="md-nav__icon md-icon"></span>
thatreallyblondehuman
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Trans-human/" class="md-nav__link">
<span class="md-ellipsis">
Trans-human
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/stats/" class="md-nav__link">
<span class="md-ellipsis">
Stats
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/whomst/" class="md-nav__link">
<span class="md-ellipsis">
Whomst
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_10_4_4" >
<label class="md-nav__link" for="__nav_3_3_10_4_4" id="__nav_3_3_10_4_4_label" tabindex="0">
<span class="md-ellipsis">
Art
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="5" aria-labelledby="__nav_3_3_10_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3_10_4_4">
<span class="md-nav__icon md-icon"></span>
Art
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Art/Creature%2C%20Drink/" class="md-nav__link">
<span class="md-ellipsis">
Creature Drink
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Art/Fuck%20Neo%20Nazi%27s/" class="md-nav__link">
<span class="md-ellipsis">
Neo Nazis
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Art/Guillotine%20Special/" class="md-nav__link">
<span class="md-ellipsis">
Guillotine Special
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Art/They%20Who%20Act/" class="md-nav__link">
<span class="md-ellipsis">
They Who Act
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_10_4_5" >
<label class="md-nav__link" for="__nav_3_3_10_4_5" id="__nav_3_3_10_4_5_label" tabindex="0">
<span class="md-ellipsis">
Demos
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="5" aria-labelledby="__nav_3_3_10_4_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3_10_4_5">
<span class="md-nav__icon md-icon"></span>
Demos
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Demos/Charli%20XCX%20Fan%20Site/" class="md-nav__link">
<span class="md-ellipsis">
Charli XCX Fan Site
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Demos/Generated%20Report/" class="md-nav__link">
<span class="md-ellipsis">
Generated Report
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Demos/Simple%20Target%20Testing/" class="md-nav__link">
<span class="md-ellipsis">
Simple Target Testing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Demos/Test%20Demo/" class="md-nav__link">
<span class="md-ellipsis">
Test Demo
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Demos/Workflow/" class="md-nav__link">
<span class="md-ellipsis">
Workflow
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_10_4_6" >
<label class="md-nav__link" for="__nav_3_3_10_4_6" id="__nav_3_3_10_4_6_label" tabindex="0">
<span class="md-ellipsis">
Pride Corner
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="5" aria-labelledby="__nav_3_3_10_4_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3_10_4_6">
<span class="md-nav__icon md-icon"></span>
Pride Corner
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Pride%20Corner/Pride%20Corner%20-%20Preachers/" class="md-nav__link">
<span class="md-ellipsis">
Preachers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Pride%20Corner/Pride%20Corner%20History/" class="md-nav__link">
<span class="md-ellipsis">
History
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Pride%20Corner/Pride%20Corner/" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3_10_4_7" >
<label class="md-nav__link" for="__nav_3_3_10_4_7" id="__nav_3_3_10_4_7_label" tabindex="0">
<span class="md-ellipsis">
Thoughts
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="5" aria-labelledby="__nav_3_3_10_4_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3_10_4_7">
<span class="md-nav__icon md-icon"></span>
Thoughts
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/Analyzing%20The%20Matrix/" class="md-nav__link">
<span class="md-ellipsis">
Matrix Analysis
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/Budgeting/" class="md-nav__link">
<span class="md-ellipsis">
Budgeting
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/Deep%20Diving%20-%20The%20Coming%20Age%20of%20Digital%20Connection/" class="md-nav__link">
<span class="md-ellipsis">
Digital Connection
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/Distributed%20Digital%20Organizing%20is%20The%20Way%20Out/" class="md-nav__link">
<span class="md-ellipsis">
Digital Organizing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/First%20They%20Came%20For%20The%20Trannies/" class="md-nav__link">
<span class="md-ellipsis">
First They Came
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/How%20not%20to%20get%20got%20making%20content%20v2/" class="md-nav__link">
<span class="md-ellipsis">
Content Safety
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/If%20you%20do%20politics%20who%20is%20reading%20your%20secrets%20-%20why%20you%20should%20de-corp%20your%20software%20stack/" class="md-nav__link">
<span class="md-ellipsis">
De-corp Software
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/Newsletter%201.7/" class="md-nav__link">
<span class="md-ellipsis">
Newsletter 1.7
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/The%20Revolution%20Will%20Not%20Get%20Likes/" class="md-nav__link">
<span class="md-ellipsis">
Revolution & Likes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/The%20Rise%20of%20Industrial%20Advocacy%20-%20Why%20You%20Should%20Quit%20Nationbuilder/" class="md-nav__link">
<span class="md-ellipsis">
Industrial Advocacy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/They%20Live%20Recut/" class="md-nav__link">
<span class="md-ellipsis">
They Live Recut
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/Twitter%20is%20Dead%2C%20Long%20Live%20X%20---%20Why%20You%20Should%20Abandon%20X/" class="md-nav__link">
<span class="md-ellipsis">
Abandon X
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../repo.archive/thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/Venus%20Wars/" class="md-nav__link">
<span class="md-ellipsis">
Venus Wars
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<span class="md-ellipsis">
Apps
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<span class="md-nav__icon md-icon"></span>
Apps
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../cm/apps/ollama/" class="md-nav__link">
<span class="md-ellipsis">
Ollama
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<style>
.typewriter-container {
min-height: 7.2em; /* Increased to accommodate three lines */
position: relative;
margin: 1rem 0;
overflow: hidden;
transition: height 0.3s ease-in-out;
position: relative;
z-index: 0;
.cursor, #cursor {
display: inline-block;
width: 2px;
background-color: var(--bnk-yellow);
animation: blink-cursor 0.7s steps(1) infinite;
height: 1.4em;
vertical-align: text-top;
margin-left: 1px;
position: absolute; /* Make sure it's absolutely positioned */
z-index: 1; /* Keep it above text */
}
.typewriter-text, #typewriter-text {
color: var(--bnk-text);
font-weight: normal;
font-size: 1.25rem;
line-height: 1.4;
margin: 0;
padding: 0;
min-height: 4.2em; /* Set for three lines of text */
width: 100%;
white-space: pre-wrap;
word-break: break-word;
display: inline;
}
</style>
<style>
/* Base styling */
:root {
--bnk-dark-bg: #1e2127;
--bnk-yellow: #ffd700;
--bnk-text: rgba(255, 255, 255, 0.87);
--bnk-text-dim: rgba(255, 255, 255, 0.7);
}
.md-content {
background: var(--bnk-dark-bg);
max-width: 100%;
padding: 0;
}
.md-main {
background: var(--bnk-dark-bg);
}
/* Terminal-style header section */
.terminal-header {
background: rgba(0, 0, 0, 0.2);
border: 1px solid rgba(255, 215, 0, 0.1);
border-radius: 8px;
padding: 1rem;
margin: 0 auto 2rem auto;
max-width: 600px;
height: 230px;
overflow: hidden;
font-family: 'Courier New', monospace;
position: relative;
}
/* Rest of terminal styles remain the same */
.terminal-header::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 25px;
background: rgba(255, 215, 0, 0.1);
border-bottom: 1px solid rgba(255, 215, 0, 0.1);
border-radius: 8px 8px 0 0;
}
.terminal-header::after {
content: '⚪ ⚪ ⚪';
position: absolute;
top: 4px;
left: 10px;
font-size: 12px;
color: rgba(255, 255, 255, 0.3);
}
.typing-effect {
position: relative;
color: var(--bnk-text-dim);
font-size: 0.8rem; /* Reduced from 0.9rem */
line-height: 1.2; /* Reduced from 1.5 */
margin: 0;
padding: 0;
opacity: 0;
margin-top: 5px; /* Reduced from 25px */
transform: translateY(20px);
}
.typing-effect.active {
opacity: 1;
transform: translateY(0);
transition: all 0.3s ease;
}
.typing-effect span {
color: var(--bnk-yellow);
}
.typing-effect::before {
content: '>';
color: var(--bnk-yellow);
margin-right: 10px;
}
.cursor {
display: inline-block;
width: 2px;
background-color: var(--bnk-yellow);
animation: blink-cursor 0.7s steps(1) infinite;
margin-left: 2px;
height: 1em;
vertical-align: bottom;
position: relative; /* Change from absolute to relative */
transform: translateY(1px); /* Add this to align with text */
}
.typewriter-text {
color: var(--bnk-text);
font-weight: normal;
font-size: 1.25rem;
line-height: 1.4;
margin: 0;
padding: 0;
min-height: 1.4em;
position: relative; /* Change from absolute to relative */
width: 100%;
white-space: pre-wrap;
word-break: break-word;
}
@keyframes blink-cursor {
50% { opacity: 0; }
}
@keyframes blink {
0%, 100% { opacity: 1; }
50% { opacity: 0; }
}
/* Enhanced main title */
h1 {
color: var(--bnk-yellow) !important;
font-weight: normal !important;
font-size: 2.5rem !important;
margin-bottom: 0.5rem !important;
text-align: center;
background: linear-gradient(
45deg,
var(--bnk-yellow),
#fff9c4,
var(--bnk-yellow)
);
background-size: 200% 200%;
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
animation:
gradientFlow 8s ease infinite,
fadeInUp 0.8s ease forwards;
}
h2 {
color: var(--bnk-yellow) !important;
font-weight: normal !important;
font-size: 1.5rem !important;
margin: 1.5rem 0 0.75rem 0 !important;
opacity: 0;
transform: translateY(20px);
}
/* Text styling */
p {
color: var(--bnk-text);
opacity: 0;
transform: translateY(20px);
}
ul li {
color: var(--bnk-text);
opacity: 0;
transform: translateY(20px);
margin: 0.5rem 0;
}
/* Feature cards */
.feature-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 0.75rem;
margin: 0.75rem auto;
max-width: 1200px;
padding: 0 0.75rem;
}
.feature-card {
background: linear-gradient(
145deg,
rgba(255, 215, 0, 0.05),
rgba(255, 215, 0, 0.02)
);
border: 1px solid rgba(255, 215, 0, 0.1);
border-radius: 8px;
padding: 0.75rem;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden;
}
.feature-card::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border-radius: 8px;
background: linear-gradient(
45deg,
transparent,
rgba(255, 215, 0, 0.1),
transparent
);
transform: translateX(-100%);
transition: transform 0.6s ease;
}
.feature-card:hover {
transform: translateY(-5px);
border-color: var(--bnk-yellow);
box-shadow:
0 10px 20px rgba(0, 0, 0, 0.1),
0 0 0 1px rgba(255, 215, 0, 0.2);
}
.feature-card:hover::after {
transform: translateX(100%);
}
.feature-card h3 {
color: var(--bnk-yellow) !important;
margin: 0 0 0.5rem 0 !important;
font-size: 1.1rem !important;
}
.feature-card p {
margin: 0;
color: var(--bnk-text-dim);
}
.feature-card a {
color: var(--bnk-yellow);
text-decoration: none;
position: relative;
}
.feature-card a::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 100%;
height: 1px;
background: var(--bnk-yellow);
transform: scaleX(0);
transform-origin: right;
transition: transform 0.3s ease;
}
.feature-card a:hover::after {
transform: scaleX(1);
transform-origin: left;
}
/* Emoji animation */
.emoji-float {
display: inline-block;
animation: float 3s ease-in-out infinite;
}
/* Section styling */
.section {
margin: 0.75rem 0;
padding: 0.75rem;
border-radius: 8px;
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 215, 0, 0.1);
}
/* Code blocks */
code {
background: rgba(255, 255, 255, 0.1);
padding: 0.2em 0.4em;
border-radius: 3px;
}
/* Animations */
@keyframes gradientFlow {
0% { background-position: 0% 50% }
50% { background-position: 100% 50% }
100% { background-position: 0% 50% }
}
@keyframes fadeInUp {
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes float {
0% { transform: translateY(0px); }
50% { transform: translateY(-5px); }
100% { transform: translateY(0px); }
}
/* Scroll reveal class */
.reveal {
opacity: 1 !important;
transform: translateY(0) !important;
transition: all 0.8s ease;
}
</style>
<style>
.highlight-feature {
background: linear-gradient(145deg, rgba(255, 215, 0, 0.1), rgba(255, 215, 0, 0.05));
border: 1px solid rgba(255, 215, 0, 0.2);
padding: 1.5rem;
border-radius: 8px;
margin: 2rem 0;
}
.savings-card {
background: linear-gradient(145deg, rgba(39, 174, 96, 0.1), rgba(39, 174, 96, 0.05));
border: 1px solid rgba(39, 174, 96, 0.2);
padding: 1rem;
border-radius: 8px;
margin: 1rem 0;
display: flex;
align-items: center;
gap: 1rem;
}
.savings-amount {
font-size: 1.5rem;
color: #27AE60;
font-weight: bold;
}
</style>
<style>
/* Update activist banner spacing */
.activist-banner {
padding: 1.5rem;
margin: 1.5rem 0;
}
.activist-grid {
gap: 1rem;
margin: 1.5rem 0;
}
.activist-card {
padding: 1.25rem;
min-width: 180px;
}
.activist-card .emoji {
margin-bottom: 0.75rem;
}
.manifesto {
margin-top: 1.5rem;
}
/* Update highlight feature spacing */
.highlight-feature {
padding: 1.25rem;
margin: 1rem 0;
}
.highlight-feature h2 {
margin: 0 0 0.75rem 0;
}
.savings-card {
padding: 0.75rem;
margin: 0.75rem 0;
gap: 0.75rem;
}
/* Responsive adjustments */
@media (max-width: 768px) {
.activist-grid {
gap: 0.75rem;
}
.activist-card {
padding: 1rem;
max-width: 280px;
}
}
</style>
<style>
.power-header {
text-align: center;
padding: 2rem 1rem;
background: linear-gradient(135deg, #333 0%, #555 20%, #ccc 40%, #fff 50%, #ccc 60%, #555 80%, #333 100%);
background-size: 200% 200%;
-webkit-background-clip: text;
background-clip: text;
color: transparent;
animation: shine 5s linear infinite;
text-shadow:
0 0 1px rgba(255,255,255,0.1),
0 1px 3px rgba(0,0,0,0.3),
0 3px 5px rgba(0,0,0,0.2),
0 5px 10px rgba(0,0,0,0.25),
0 10px 10px rgba(0,0,0,0.2),
0 20px 20px rgba(0,0,0,0.15);
}
.power-header h1 {
font-size: 3.5rem;
margin-bottom: 0.5rem;
font-weight: 800;
letter-spacing: -0.05em;
}
.power-header p {
font-size: 1.8rem;
opacity: 0.9;
font-weight: 600;
}
@keyframes shine {
from { background-position: 200% center; }
to { background-position: -200% center; }
}
</style>
<!-- Update heading styles -->
<style>
/* Global heading styles to match Why Change Maker */
h1, h2, h3, h4, h5, h6 {
font-family: system-ui, -apple-system, sans-serif;
text-align: center;
background: linear-gradient(135deg, #333 0%, #555 20%, #ccc 40%, #fff 50%, #ccc 60%, #555 80%, #333 100%);
background-size: 200% 200%;
-webkit-background-clip: text;
background-clip: text;
color: transparent !important;
animation: shine 5s linear infinite;
text-shadow:
0 0 1px rgba(255,255,255,0.1),
0 1px 3px rgba(0,0,0,0.3),
0 3px 5px rgba(0,0,0,0.2),
0 5px 10px rgba(0,0,0,0.25),
0 10px 10px rgba(0,0,0,0.2),
0 20px 20px rgba(0,0,0,0.15);
}
h1 {
font-size: 3.5rem !important;
font-weight: 800 !important;
letter-spacing: -0.05em !important;
margin: 2rem 0 1rem !important;
line-height: 1.2 !important;
}
h2 {
font-size: 2.5rem !important;
font-weight: 700 !important;
letter-spacing: -0.03em !important;
margin: 1.5rem 0 1rem !important;
line-height: 1.3 !important;
}
h3 {
font-size: 1.8rem !important;
font-weight: 600 !important;
margin: 1rem 0 0.75rem !important;
}
/* Remove the old gradient styles */
.power-header {
padding: 2rem 1rem;
}
.power-header h1,
.power-header h2,
.power-header p {
/* Reset any existing styles to use the global heading styles */
background: inherit;
-webkit-background-clip: inherit;
background-clip: inherit;
animation: inherit;
}
/* Update animation keyframes */
@keyframes shine {
from { background-position: 200% center; }
to { background-position: -200% center; }
}
</style>
<style>
/* Update heading styles to be more selective */
.md-content > h1, /* Only top-level headers */
.md-content > h2,
.md-content > .power-header h1,
.md-content > .power-header h2 {
font-family: system-ui, -apple-system, sans-serif;
text-align: center;
background: linear-gradient(135deg, #FFD700 0%, #FFEC8B 20%, #FFD700 40%, #FFEC8B 50%, #FFD700 60%, #FFEC8B 80%, #FFD700 100%);
background-size: 200% 200%;
-webkit-background-clip: text;
background-clip: text;
color: transparent !important;
animation: shine 15s linear infinite;
text-shadow:
0 0 1px rgba(255,255,255,0.1),
0 1px 3px rgba(0,0,0,0.3),
0 3px 5px rgba(0,0,0,0.2),
0 5px 10px rgba(0,0,0,0.25),
0 10px 10px rgba(0,0,0,0.2),
0 20px 20px rgba(0,0,0,0.15);
font-size: 3.5rem !important;
font-weight: 800 !important;
letter-spacing: -0.05em !important;
margin: 2rem 0 1rem !important;
line-height: 1.2 !important;
}
/* Reset container heading styles to original gold */
.highlight-feature h2,
.feature-card h3,
.section h2 {
background: none !important;
-webkit-background-clip: unset !important;
background-clip: unset !important;
color: var(--bnk-yellow) !important;
text-shadow: none !important;
animation: none !important;
font-size: 1.5rem !important;
font-weight: normal !important;
letter-spacing: normal !important;
}
/* Keep original container heading sizes */
.highlight-feature h2 {
font-size: 1.5rem !important;
margin: 0 0 0.75rem 0 !important;
}
.feature-card h3 {
font-size: 1.1rem !important;
margin: 0 0 0.5rem 0 !important;
}
</style>
<style>
/* Update highlight feature grid layout */
.highlight-features-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
gap: 1rem;
margin: 2rem 0;
}
.highlight-feature {
background: linear-gradient(145deg, rgba(255, 215, 0, 0.05), rgba(255, 215, 0, 0.02));
border: 1px solid rgba(255, 215, 0, 1);
padding: 1.25rem;
border-radius: 8px;
margin: 0; /* Remove individual margins */
height: 100%; /* Ensure equal height */
display: flex;
flex-direction: column;
}
/* Responsive adjustments */
@media (max-width: 920px) {
.highlight-features-grid {
grid-template-columns: 1fr;
}
.highlight-feature {
margin: 0.5rem 0;
}
}
</style>
<style>
/* Amber gold header with animation */
.power-header h1, .power-header h2 {
color: var(--bnk-yellow); /* Amber gold color */
text-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
animation: glow 15s ease-in-out infinite alternate;
}
/* Glow animation */
@keyframes glow {
from {
text-shadow: 0 0 5px rgba(255, 215, 0, 0.5);
}
to {
text-shadow: 0 0 20px rgba(255, 215, 0, 1);
}
}
/* Animated paragraph container */
.animated-container {
opacity: 0;
transform: translateY(20px);
animation: fadeInUp 1s forwards;
}
/* Fade-in animation */
@keyframes fadeInUp {
to {
opacity: 1;
transform: translateY(0);
}
}
</style>
<!-- Add background to the entry header -->
<style>
.power-header.entry-header {
position: relative;
overflow: hidden;
min-height: 500px; /* Ensure the container is tall enough for the emoji */
}
.power-header.entry-header::before {
content: '✊';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 500px;
color: rgba(255, 215, 0, 0.5); /* Increase emoji opacity */
pointer-events: none;
user-select: none;
line-height: 1;
}
.power-header.entry-header h1 {
position: relative;
z-index: 1;
}
/* Style for "Bnkops Change Maker" */
.power-header .highlight-text {
color: var(--bnk-yellow); /* Shiny gold/amber color */
text-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
animation: shine 15s linear infinite;
}
@keyframes shine {
0% {
background-position: 200% center;
}
50% {
background-position: -200% center;
}
100% {
background-position: 200% center;
}
}
</style>
<!-- Power header styles with metallic effect -->
<style>
.power-header.entry-header h3 {
/* Welcome to text */
color: rgba(255, 255, 255, 0.9) !important;
font-size: 1.5rem !important;
font-weight: normal !important;
text-shadow: none !important;
background: none !important;
-webkit-background-clip: initial !important;
background-clip: initial !important;
animation: none !important;
margin-bottom: 0.5rem !important;
}
.power-header.entry-header h1.highlight-text {
/* Metallic gold effect for main title */
background: linear-gradient(
135deg,
#ffd700 0%,
#fff6a9 10%,
#d4af37 20%,
#fff6a9 30%,
#ffd700 40%,
#fff6a9 50%,
#d4af37 60%,
#fff6a9 70%,
#ffd700 80%,
#fff6a9 90%,
#d4af37 100%
) !important;
-webkit-background-clip: text !important;
background-clip: text !important;
color: transparent !important;
text-shadow:
0 0 1px rgba(255, 215, 0, 0.2),
0 0 15px rgba(255, 215, 0, 0.3),
0 0 30px rgba(255, 215, 0, 0.1) !important;
font-weight: 800 !important;
font-size: 4rem !important;
letter-spacing: -0.02em !important;
animation: metallicShine 8s linear infinite !important;
background-size: 200% auto !important;
}
@keyframes metallicShine {
to {
background-position: 200% center;
}
}
</style>
<div class="md-content">
<!-- Update the entry header -->
<div class="power-header entry-header">
<h3>Welcome to</h3>
<h1 class="highlight-text">Change Maker</h1>
</div>
<!-- Main content with enhanced visual styling -->
<div class="animated-container hero-content">
<!-- Wrapper for the two containers -->
<div class="content-box-wrapper">
<!-- First paragraph with icon and highlight box -->
<div class="content-box">
<div class="icon-wrapper">
<span class="feature-icon">🚀</span>
</div>
<p class="highlight-text">
Turn any internet connected computer into a website server with open manuals to manage a full digital political campaign.
<span class="emphasis" style="font-weight: bold; color: #FFFFFF; text-shadow: 2px 2px 4px rgba(128, 0, 128, 0.5);">Or, you know, just a regular old blog.</span>
<a href="https://changemaker.bnkops.com/Free(ish)">For free(ish)</a>.
With everything running locally on your machine, there's simply no faster way to develop a website and grow your following.
<span class="emoji-float">😉</span>
</p>
</div>
<!-- Second paragraph with icon and highlight box -->
<div class="content-box">
<div class="icon-wrapper">
<span class="feature-icon">🔒</span>
</div>
<p class="highlight-text">
Your content is <span class="emphasis" style="font-weight: bold; color: #FFFFFF; text-shadow: 2px 2px 4px rgba(128, 0, 128, 0.5);">locally built, inherently secure, and remotely accessible</span> so you can keep control of your site; right down to the bare code. Never share server space with your competition again and stop
<a href="https://changemaker.bnkops.com/Why%20Change%20Maker/">funding corporate software</a>
that is antithetical to your morals. Publish your content on your terms; <span class="emphasis" style="font-weight: bold; color: #FFFFFF; text-shadow: 2px 2px 4px rgba(128, 0, 128, 0.5);">true freedom of speech.</span>
</p>
</div>
</div>
</div>
<form method="post" action="https://listmonk.bnkops.com/subscription/form" class="listmonk-form">
<div class="form-content">
<!-- Orbiting Text Elements -->
<div class="orbit-text" style="--start-rotation: 0deg;">✨ Stay in the Loop ✨</div>
<div class="orbit-text" style="--start-rotation: 120deg;">✨ Subscribe for Code ✨</div>
<div class="orbit-text" style="--start-rotation: 240deg;">✨ Get the Latest ✨</div>
<!-- Form Inputs -->
<input type="hidden" name="nonce" />
<input type="email" name="email" required placeholder="E-mail" />
<input type="text" name="name" placeholder="Name (optional)" />
<label>
<input id="038eb" type="checkbox" name="l" checked value="038eb469-e141-435d-86eb-2ab4df20cf9c" />
Weekly Releases and Updates
</label>
<!-- Subscribe Button -->
<div class="subscribe-container">
<input type="submit" value="Subscribe" />
</div>
</div>
</form>
<style>
.hero-content {
max-width: 1200px; /* Increased max-width to accommodate side-by-side */
margin: 2rem auto;
}
.content-box-wrapper {
display: flex;
gap: 1rem;
flex-wrap: wrap; /* Allows stacking on smaller screens */
}
.content-box {
background: linear-gradient(145deg, rgba(255, 215, 0, 0.05), rgba(255, 215, 0, 0.02));
border: 1px solid rgba(255, 215, 0, 0.1);
border-radius: 12px;
padding: 1.5rem;
margin: 0; /* Removed vertical margin */
display: flex;
align-items: flex-start;
gap: 1rem;
transition: transform 0.3s ease;
flex: 1; /* Allow equal growth */
min-width: 300px; /* Minimum width before stacking */
}
.content-box:hover {
transform: translateY(-2px);
border-color: rgba(255, 215, 0, 0.3);
}
.icon-wrapper {
background: rgba(255, 215, 0, 0.1);
border-radius: 50%;
padding: 1rem;
margin-top: 0.5rem;
flex-shrink: 0; /* Prevent icon from shrinking */
}
.feature-icon {
font-size: 1.5rem;
animation: float 3s ease-in-out infinite;
}
.highlight-text {
margin: 0;
line-height: 1.6;
}
.emphasis {
color: var(--bnk-yellow);
font-weight: 500;
}
@keyframes float {
0% { transform: translateY(0px); }
50% { transform: translateY(-5px); }
100% { transform: translateY(0px); }
}
/* Media query for mobile devices */
@media (max-width: 768px) {
.content-box {
flex: 1 1 100%; /* Take full width on mobile */
margin: 0.5rem 0; /* Add some vertical spacing when stacked */
}
}
</style>
<div class="power-header">
<h1>Build Your Power, Don't Rent It.</h1>
</div>
<!-- Moved Terminal Header here -->
<div class="terminal-header">
<div class="typing-effect">initializing documentation system<span class="cursor"></span></div>
<div class="typing-effect">checking dependencies...</div>
<div class="typing-effect"><span></span> site built ready to serve</div>
<div class="typing-effect"><span></span> newsletter configured ready</div>
<div class="typing-effect"><span></span> real-time preview active</div>
<div class="typing-effect"><span></span> editor built online </div>
<div class="typing-effect"><span></span> change maker ready!</div>
</div>
<style>
.activist-banner {
background: linear-gradient(145deg, rgba(255, 215, 0, 0.05), rgba(255, 215, 0, 0.02));
border-radius: 12px;
padding: 2rem;
margin: 2rem 0;
text-align: center;
}
.activist-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 1.5rem;
margin: 2rem 0;
}
.activist-card {
background: rgba(45, 27, 77, 0.3);
border: 1px solid rgba(255, 215, 0, 0.1);
border-radius: 8px;
padding: 1.5rem;
min-width: 200px;
transform: translateY(0);
transition: all 0.3s ease;
}
.activist-card:hover {
transform: translateY(-5px);
border-color: var(--bnk-yellow);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.activist-card .emoji {
font-size: 2.5rem;
margin-bottom: 1rem;
animation: float 3s ease-in-out infinite;
}
.activist-card .role {
color: var(--bnk-yellow);
font-size: 1.2rem;
font-weight: bold;
margin-bottom: 0.5rem;
}
.activist-card .action {
color: var(--bnk-text);
font-size: 0.9rem;
opacity: 0.9;
}
.manifesto {
font-size: 1.1rem;
color: var(--bnk-text);
margin-top: 2rem;
font-style: italic;
line-height: 1.6;
max-width: 600px;
margin-left: auto;
margin-right: auto;
}
@keyframes float {
0% { transform: translateY(0px); }
50% { transform: translateY(-10px); }
100% { transform: translateY(0px); }
}
@media (max-width: 768px) {
.activist-grid {
flex-direction: column;
align-items: center;
}
.activist-card {
width: 100%;
max-width: 300px;
}
}
</style>
<div class="highlight-features-grid">
<div class="highlight-feature">
<h2>🚀 NEW: Built-in Email, SMS, & Messengers Marketing</h2>
<p>Now includes Listmonk - a powerful, free alternative to MailChimp and Constant Contact. Send newsletters, manage subscribers, and run email campaigns without monthly fees.</p>
<div class="savings-card">
<div>💰</div>
<div>
<span class="savings-amount">Save $1,200+/year</span><br>
<small>vs. commercial email marketing tools</small>
</div>
</div>
</div>
<div class="highlight-feature">
<h2>🌐 Website Builder, Server, and Editor Hosting All-In-One.</h2>
<p>Professional website builder and hosting platform. No more WordPress fees or expensive site builders. Edit your sites code directly on device. Never share server space with your competition again. </p>
<div class="savings-card">
<div>💰</div>
<div>
<span class="savings-amount">Save $300+/year</span><br>
<small>vs. WordPress hosting & plugins</small>
</div>
</div>
</div>
<div class="highlight-feature">
<h2>📱 Mobile Tools & Apps</h2>
<p>Mobile-optimized tools for on-the-go campaign management. No app subscriptions needed. Write web pages on the fly on any device.</p>
<div class="savings-card">
<div>💰</div>
<div>
<span class="savings-amount">Save $500+/year</span><br>
<small>vs. mobile campaign tools</small>
</div>
</div>
</div>
<div class="highlight-feature" style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.15), rgba(255, 215, 0, 0.1));">
<h2>💎 Total Campaign Savings</h2>
<p>Replace your entire campaign tech stack with one free, open-source platform.</p>
<div class="savings-card" style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.1), rgba(255, 215, 0, 0.05));">
<div>🏆</div>
<div>
<span class="savings-amount">Save $2,200+/year</span><br>
<small>Total savings vs. commercial alternatives</small>
</div>
</div>
</div>
</div>
<style>
.terminal-window {
background: rgb(29, 31, 33);
border-radius: 4px;
padding: 1rem;
margin: 1rem 0;
position: relative;
font-family: monospace;
width: 100%;
max-width: 100%;
}
.terminal-window::before {
content: "⚪ ⚪ ⚪";
position: absolute;
top: 0.3rem;
left: 0.5rem;
font-size: 0.6rem;
color: rgba(255, 255, 255, 0.3);
}
.terminal-prompt {
color: rgb(255, 215, 0);
margin-bottom: 0.5rem;
font-size: 0.8rem;
white-space: nowrap;
text-shadow: 0 0 10px rgba(255, 215, 0, 0.3);
}
.progress-container {
width: 100%;
height: 16px;
background: rgba(0, 0, 0, 0.3);
border: 1px solid rgba(255, 215, 0, 0.2);
margin: 0.5rem 0;
position: relative;
overflow: visible;
}
.progress-bar {
height: 100%;
width: 0%;
background: rgba(255, 215, 0, 0.15);
transition: width 0.15s ease-out;
position: relative;
}
/* Tron-style grid effect */
.progress-bar::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background:
linear-gradient(90deg, rgba(255, 215, 0, 0.1) 1px, transparent 1px),
linear-gradient(0deg, rgba(255, 215, 0, 0.1) 1px, transparent 1px);
background-size: 8px 8px;
}
.progress-bar::after {
content: '';
position: absolute;
top: 0;
right: 0;
width: 2px;
height: 100%;
background: rgb(255, 215, 0);
box-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
}
.progress-tooltip {
position: absolute;
top: -34px;
left: 75%;
transform: translateX(-100%);
background: rgba(29, 31, 33, 0.95);
border: 1px solid rgba(255, 215, 0, 0.3);
padding: 3px 6px;
border-radius: 3px;
font-size: 0.65rem;
color: rgba(255, 215, 0, 0.9);
opacity: 0;
transition: opacity 0.3s ease;
pointer-events: none;
box-shadow: 0 0 5px rgba(255, 215, 0, 0.1);
z-index: 1000;
width: max-content;
max-width: 150px;
}
/* Mobile-specific tooltip styling */
@media (max-width: 600px) {
.progress-tooltip {
display: flex;
flex-direction: column;
font-size: 0.6rem;
line-height: 1.2;
top: -38px;
text-align: left;
}
.tooltip-line1 {
margin-bottom: 2px;
}
}
.progress-tooltip::after {
content: '';
position: absolute;
bottom: -3px;
left: calc(100% - 10px);
width: 6px;
height: 6px;
background: inherit;
border-right: 1px solid rgba(255, 215, 0, 0.3);
border-bottom: 1px solid rgba(255, 215, 0, 0.3);
transform: rotate(45deg);
}
.progress-tooltip.visible {
opacity: 1;
}
.progress-info {
display: flex;
justify-content: space-between;
color: rgba(255, 215, 0, 0.8);
font-size: 0.7rem;
margin-top: 0.3rem;
}
.subscribe-text {
color: rgb(200, 200, 200);
font-size: 0.7rem;
margin-top: 0.3rem;
}
.loading .progress-bar {
background: linear-gradient(90deg,
rgba(255, 215, 0, 0.1),
rgba(255, 215, 0, 0.2)
);
}
</style>
<script>
document.addEventListener('DOMContentLoaded', function() {
const container = document.querySelector('.terminal-window');
const progressBar = container.querySelector('.progress-bar');
const progressPercent = container.querySelector('.progress-percent');
const tooltip = container.querySelector('.progress-tooltip');
let progress = 0;
let lastScrollTop = 0;
let scrollSensitivity = 5;
container.classList.add('loading');
function updateProgress(scrollDelta) {
const viewportHeight = window.innerHeight;
const docHeight = document.documentElement.scrollHeight - viewportHeight;
const increment = (Math.abs(scrollDelta) / docHeight) * 100 * scrollSensitivity;
progress = Math.min(75, progress + (increment * 0.8));
progressBar.style.width = `${progress}%`;
progressPercent.textContent = `${Math.round(progress)}%`;
if (progress >= 70) {
tooltip.classList.add('visible');
} else {
tooltip.classList.remove('visible');
}
if (progress > 0) {
container.classList.remove('loading');
}
}
window.addEventListener('scroll', () => {
const scrollTop = window.scrollY;
const scrollDelta = Math.abs(scrollTop - lastScrollTop);
lastScrollTop = scrollTop;
requestAnimationFrame(() => updateProgress(scrollDelta));
}, { passive: true });
window.addEventListener('wheel', (e) => {
const wheelDelta = Math.abs(e.deltaY);
requestAnimationFrame(() => updateProgress(wheelDelta / 5));
}, { passive: true });
});
</script>
<div class="terminal-window">
<div class="terminal-prompt">
> Building Change Maker V3...
</div>
<div class="progress-container">
<div class="progress-tooltip">
<span class="tooltip-line1">Testing with Partners now.</span>
<span class="tooltip-line2">Email for Opportunity.</span>
</div>
<div class="progress-bar"></div>
</div>
<div class="progress-info">
<span class="progress-percent">0%</</span>
<span>Target: Late November</span>
</div>
<div class="subscribe-text">
Subscribe to newsletter to get code delivered right to the inbox.
</div>
</div>
<div class="power-header">
<h1>Not a dime spent on advertising and you still heard of us?</h1>
</div>
<form method="post" action="https://listmonk.bnkops.com/subscription/form" class="listmonk-form">
<div class="form-content">
<!-- Orbiting Text Elements -->
<div class="orbit-text" style="--start-rotation: 0deg;">✨ Stay in the Loop ✨</div>
<div class="orbit-text" style="--start-rotation: 120deg;">✨ Subscribe for Code ✨</div>
<div class="orbit-text" style="--start-rotation: 240deg;">✨ Get the Latest ✨</div>
<!-- Form Inputs -->
<input type="hidden" name="nonce" />
<input type="email" name="email" required placeholder="E-mail" />
<input type="text" name="name" placeholder="Name (optional)" />
<label>
<input id="038eb" type="checkbox" name="l" checked value="038eb469-e141-435d-86eb-2ab4df20cf9c" />
Weekly Releases and Updates
</label>
<!-- Subscribe Button -->
<div class="subscribe-container">
<input type="submit" value="Subscribe" />
</div>
</div>
</form>
<div class="section">
<h2>Some Features</h2>
<div class="feature-grid">
<!-- Existing cards -->
<div class="feature-card">
<h3><span class="emoji-float">📱</span> Mobile-First Design</h3>
<p>Responsive layout for both frontend and backend that is optimized for all devices with touch-friendly navigation. Why not write instead of doom scroll? 🤔❤️🤳</p>
</div>
<div class="feature-card">
<h3><span class="emoji-float">🔍</span> Instant Search</h3>
<p>Built-in search with real-time suggestions and keyword highlighting. Get curious visitors instant answers to their questions 🤓🫡.</p>
</div>
<div class="feature-card">
<h3><span class="emoji-float">🎨</span> Accessibilty & Dark Mode Support</h3>
<p>Accessible reading by default & automatic dark/light theme switching based on user preferences ❤️👀</p>
</div>
<!-- New security-focused cards -->
<div class="feature-card">
<h3><span class="emoji-float">🏠</span> Self-Hosted Platform</h3>
<p>Run everything on your own hardware. No external dependencies or cloud services required. Complete control over your infrastructure and data. 💪</p>
</div>
<div class="feature-card">
<h3><span class="emoji-float">🔐</span> 100% Confidential</h3>
<p>Your content stays private and secure. No data sharing, tracking, or external connections. Perfect for sensitive campaign materials and strategic planning. 🤫</p>
</div>
<div class="feature-card">
<h3><span class="emoji-float">🌐</span> VPN Compatible</h3>
<p>Works seamlessly with VPNs and anonymity tools. Enhanced privacy and security for your entire team's communications. 🛡️</p>
</div>
<!-- Remaining existing cards -->
<div class="feature-card">
<h3><span class="emoji-float">🚀</span> Social Cards</h3>
<p>Automatic social media cards and SEO optimization for better sharing. Like, if thats your thing 🤭</p>
</div>
<div class="feature-card">
<h3><span class="emoji-float">📊</span> Analytics Ready</h3>
<p>Easy integration with analytics if you so choose. If you like to watch, that's your thing 😆</p>
</div>
<div class="feature-card">
<h3><span class="emoji-float">🔒</span> Privacy Focused</h3>
<p>No external requests, GDPR compliant, and cookie-free by default. Build a site offline entirely, if you so choose.🙈🙉🙊 </p>
</div>
</div>
</div>
<div class="power-header">
<h2>The Fastest Writing Platform Available</h2>
</div>
<p>This documentation editor lets you create and manage content using markdown and Obsidian-style features. View, edit, and generate your site <a href="https://changemaker.bnkops.com/Backend%20%26%20Editor/">entirely in plain text.</a> Write and serve your content faster then ever before.</p>
<div class="typewriter-container">
<div id="typewriter-text"></div>
</div>
<div class="feature-grid">
<!-- Simple Markdown Writing -->
<div class="feature-card">
<h3><span class="emoji-float">📝</span> Simple Markdown Writing</h3>
<p>Use <a href="https://changemaker.bnkops.com/Simple%20Markdown%20Guide/">Markdown</a> for easy content creation</p>
</div>
<!-- Obsidian Integration -->
<div class="feature-card">
<h3><span class="emoji-float">🔗</span> Obsidian Integration</h3>
<p>Open your docs folder in <a href="https://changemaker.bnkops.com/obsidian/">Obsidian</a> for enhanced features</p>
</div>
<!-- Real-time Preview -->
<div class="feature-card">
<h3><span class="emoji-float">👁️</span> Real-time Preview</h3>
<p>See your changes immediately with live preview</p>
</div>
<!-- Auto-updating Links -->
<div class="feature-card">
<h3><span class="emoji-float">🔄</span> Auto-updating Links</h3>
<p>Internal links are managed automatically</p>
</div>
<!-- Custom Landing Page -->
<div class="feature-card">
<h3><span class="emoji-float">🎨</span> Custom Landing Page</h3>
<p>Use <a href="https://changemaker.bnkops.com/Customizing%20Your%20Landing%20Page%20with%20LLMs%20%28Ai%29/">our LLM prompting guide</a> to create beautiful custom landing pages</p>
</div>
<!-- Blogger Ready -->
<div class="feature-card">
<h3><span class="emoji-float">📝</span> Blogger Ready</h3>
<p>Backend builder mkdcos-material offers powerful blogging features with built-in plugins and extensions for a seamless documentation experience</p>
</div>
</div>
<style>
@keyframes smokeGlow {
0% {
opacity: 0.1;
filter: blur(15px);
transform: scale(0.98) translate(0, 0);
}
33% {
opacity: 0.3;
filter: blur(12px);
transform: scale(1.01) translate(-2px, 2px);
}
66% {
opacity: 0.2;
filter: blur(18px);
transform: scale(1.02) translate(2px, -2px);
}
100% {
opacity: 0.1;
filter: blur(15px);
transform: scale(0.98) translate(0, 0);
}
}
@keyframes orbit {
from {
transform: translate(-50%, -50%) rotate(var(--start-rotation)) translateX(120px) rotate(calc(-1 * var(--start-rotation)));
}
to {
transform: translate(-50%, -50%) rotate(calc(360deg + var(--start-rotation))) translateX(120px) rotate(calc(-360deg - var(--start-rotation)));
}
}
.listmonk-form {
position: relative !important;
background: rgba(45, 27, 77, 0.7) !important;
padding: 40px !important;
width: 100% !important;
box-sizing: border-box !important;
margin: 40px 0 !important;
display: flex !important;
flex-wrap: wrap !important;
align-items: center !important;
justify-content: center !important;
gap: 15px !important;
border-radius: 12px !important;
border: 1px solid rgba(255, 255, 255, 0.15) !important;
z-index: 1 !important;
min-height: 300px !important;
}
.listmonk-form::before,
.listmonk-form::after {
content: '' !important;
position: absolute !important;
top: -20px !important;
left: -20px !important;
right: -20px !important;
bottom: -20px !important;
background: rgba(255, 255, 255, 0.15) !important;
border-radius: 20px !important;
z-index: -1 !important;
pointer-events: none !important;
}
.listmonk-form::before {
animation: smokeGlow 8s ease-in-out infinite !important;
}
.listmonk-form::after {
animation: smokeGlow 8s ease-in-out infinite reverse !important;
animation-delay: -4s !important;
background: rgba(255, 255, 255, 0.1) !important;
}
.form-content {
position: relative !important; /* Added for orbiting text positioning */
display: flex !important;
flex-wrap: wrap !important;
gap: 15px !important;
justify-content: center !important;
align-items: center !important;
max-width: 600px !important;
margin: 0 auto !important;
z-index: 2 !important;
}
.subscribe-container {
position: relative !important;
display: flex !important;
justify-content: center !important;
align-items: center !important;
z-index: 2 !important;
}
.listmonk-form input[type="email"],
.listmonk-form input[type="text"],
.listmonk-form label,
.subscribe-container {
position: relative !important;
z-index: 2 !important; /* Ensure inputs are above orbiting text */
}
.listmonk-form input[type="email"],
.listmonk-form input[type="text"] {
background-color: #6a1b9a !important; /* Solid purple background */
border: 2px solid rgba(255, 255, 255, 0.2) !important;
color: #FFFFFF !important; /* Brightened text color */
padding: 12px 15px !important;
border-radius: 6px !important;
font-size: 15px !important;
font-weight: bold !important; /* Increased font weight */
flex: 1 !important;
min-width: 150px !important;
max-width: 250px !important;
transition: all 0.3s ease !important;
}
.listmonk-form input[type="email"]::placeholder,
.listmonk-form input[type="text"]::placeholder {
color: rgba(255, 255, 255, 0.8) !important; /* Brighter placeholder text color */
}
.listmonk-form input[type="email"]:focus,
.listmonk-form input[type="text"]:focus {
border-color: rgba(255, 255, 255, 0.4) !important;
background-color: #7b1fa2 !important; /* Slightly lighter purple on focus */
color: #FFFFFF !important; /* Ensure text remains bright on focus */
outline: none !important;
}
.listmonk-form input[type="submit"] {
background-color: rgba(255, 255, 255, 0.9) !important;
color: #2d1b4d !important;
padding: 12px 25px !important;
border: none !important;
border-radius: 6px !important;
cursor: pointer !important;
font-weight: bold !important;
font-size: 16px !important;
transition: all 0.3s ease !important;
letter-spacing: 0.5px !important;
position: relative !important;
z-index: 2 !important;
}
.listmonk-form input[type="submit"]:hover {
transform: translateY(-2px) !important;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
background-color: rgba(240, 240, 240, 0.9) !important;
}
.listmonk-form label {
color: rgba(255, 255, 255, 0.9) !important;
font-weight: normal !important;
font-size: 15px !important;
display: inline-flex !important;
align-items: center !important;
margin-right: 15px !important;
flex: 1 1 100% !important;
}
.listmonk-form input[type="checkbox"] {
margin-right: 8px !important;
accent-color: #ffffff !important;
}
.listmonk-form input::placeholder {
color: rgba(255, 255, 255, 0.5) !important;
}
.orbit-text {
position: absolute !important;
top: 50% !important;
left: 50% !important;
transform-origin: center !important;
margin: 0 !important;
color: #ffffff !important;
font-size: 14px !important; /* Further reduced font size */
font-weight: bold !important;
text-shadow: 0 2px 4px rgba(0,0,0,0.2) !important;
letter-spacing: 0.5px !important;
white-space: nowrap !important;
animation: orbit 12s linear infinite !important; /* Even faster orbit */
background: rgba(45, 27, 77, 0.5) !important;
padding: 4px 10px !important; /* Further reduced padding */
border-radius: 20px !important;
backdrop-filter: blur(5px) !important;
pointer-events: none !important;
z-index: 1 !important;
}
@keyframes orbit {
from {
transform: translate(-50%, -50%) rotate(var(--start-rotation)) translateX(100px) rotate(calc(-1 * var(--start-rotation))); /* Further reduced orbit radius */
}
to {
transform: translate(-50%, -50%) rotate(calc(360deg + var(--start-rotation))) translateX(100px) rotate(calc(-360deg - var(--start-rotation))); /* Further reduced orbit radius */
}
}
</style>
<form method="post" action="https://listmonk.bnkops.com/subscription/form" class="listmonk-form">
<div class="form-content">
<!-- Orbiting Text Elements -->
<div class="orbit-text" style="--start-rotation: 0deg;">✨ Stay in the Loop ✨</div>
<div class="orbit-text" style="--start-rotation: 120deg;">✨ Subscribe for Code ✨</div>
<div class="orbit-text" style="--start-rotation: 240deg;">✨ Get the Latest ✨</div>
<!-- Form Inputs -->
<input type="hidden" name="nonce" />
<input type="email" name="email" required placeholder="E-mail" />
<input type="text" name="name" placeholder="Name (optional)" />
<label>
<input id="038eb" type="checkbox" name="l" checked value="038eb469-e141-435d-86eb-2ab4df20cf9c" />
Weekly Releases and Updates
</label>
<!-- Subscribe Button -->
<div class="subscribe-container">
<input type="submit" value="Subscribe" />
</div>
</div>
</form>
<div class="section">
<h2>In Development</h2>
<p>bnkops is working on Change Maker V4 right now, which will also be free. Features coming include:</p>
<ul>
<li>DNS (domain) hosting services under bnkops.com</li>
<li>One click install script for public access</li>
<li>Expanded frontend editor with more standard markdown editing features and content management</li>
<li>Expanded mobile features, such as content uploading and improved ui</li>
<li>Options to install local newsletter, email targeter, automation systems, and database integrations</li>
<li> Meta properties for documentation for states like draft, publish, author, publication time, etc.
</ul>
</div>
</div>
<div class="section" style="padding: 1.25rem; background: linear-gradient(145deg, rgba(255, 215, 0, 0.02), rgba(255, 215, 0, 0.01)); position: relative; overflow: hidden;">
<!-- Shimmer effect overlay -->
<div style="position: absolute; top: 0; left: 0; width: 200%; height: 100%; background: linear-gradient(to right, transparent, rgba(255, 215, 0, 0.1), transparent);"></div>
<div style="position: relative; width: 100%; padding: 1.25rem; background: linear-gradient(145deg, rgba(255, 215, 0, 0.08), rgba(255, 215, 0, 0.04)); border-radius: 8px; border: 1px solid rgba(255, 215, 0, 0.1);">
<h3 style="text-align: center; font-size: 1.2rem !important; margin-bottom: 0.5rem !important; color: var(--bnk-yellow);">Share the Magic! ✨</h3>
<p style="text-align: center; margin-bottom: 1rem; font-size: 0.9rem; color: var(--bnk-text-dim);">Want to support bnkops change maker? Help spread the word!</p>
<div style="display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap;">
<button onclick="navigator.clipboard.writeText('Have you seen https://changemaker.bnkops.com? A open-source, free, simple, and powerful website generator and server application for running digital campaigns.'); alert('Link copied!');"
style="flex: 1; min-width: 120px; text-align: center; background: var(--bnk-yellow); color: black; padding: 0.5rem 1rem; border-radius: 6px; border: none; cursor: pointer; font-size: 0.9rem; transition: transform 0.2s ease, box-shadow 0.2s ease;"
onmouseover="this.style.transform='translateY(-2px)'; this.style.boxShadow='0 4px 12px rgba(255, 215, 0, 0.3)'"
onmouseout="this.style.transform='none'; this.style.boxShadow='none'">
📋 Copy url and short introduction
</button>
</div>
</div>
</div>
<style>
@keyframes shimmer {
100% {
transform: translateX(50%);
}
}
}
</style>
</div>
<script>
// Define the two message arrays
const taglines = [
"Documentation meets democracy: Professional-grade tools with revolutionary simplicity.",
"Your campaign's command center: Powerful documentation that adapts as fast as you do.",
"Secure, simple, sovereign: Documentation built for campaigns that make change.",
"Where simplicity meets strategy: Professional documentation tools built for changemakers.",
"Take control of your narrative: Professional documentation that evolves with your campaign."
];
const messages = [
"The promise is: If you can type, you can make a site.",
"Create websites effortlessly and itteratively.",
"Your content, your control.",
"Welcome to the future of web creation!",
"Empower your ideas with simplicity."
];
// Setup for both typewriters
const typewriterElement = document.getElementById('typewriter-text');
const cursorElement = document.getElementById('cursor');
const taglineElement = document.querySelector('.typewriter-text');
const taglineCursor = document.querySelector('.cursor');
let messageIndex = 0;
let taglineIndex = 0;
let typewriterIndex = 0;
let taglineTypeIndex = 0;
let isDeleting = false;
let isTaglineDeleting = false;
function getTextWidth(text, element) {
const canvas = document.createElement('canvas');
const context = canvas.getContext('2d');
const computedStyle = window.getComputedStyle(element);
context.font = `${computedStyle.fontSize} ${computedStyle.fontFamily}`;
return context.measureText(text).width;
}
function updateCursorPosition(textElement, cursorElement) {
const textNode = textElement.firstChild;
const range = document.createRange();
range.selectNodeContents(textElement);
const textWidth = range.getBoundingClientRect().width;
cursorElement.style.position = 'absolute';
cursorElement.style.left = `${textWidth}px`;
// Calculate vertical position based on text height
const textHeight = textElement.getBoundingClientRect().height;
const lineHeight = parseInt(window.getComputedStyle(textElement).lineHeight);
const lines = Math.floor(textHeight / lineHeight);
// Position cursor at the end of text, accounting for multiple lines
cursorElement.style.top = `${(lines - 1) * lineHeight}px`;
}
function typeTagline() {
const currentTagline = taglines[taglineIndex];
if (!isTaglineDeleting) {
if (taglineTypeIndex < currentTagline.length) {
taglineElement.textContent += currentTagline.charAt(taglineTypeIndex);
taglineTypeIndex++;
setTimeout(typeTagline, 50);
} else {
setTimeout(() => {
isTaglineDeleting = true;
typeTagline();
}, 3000);
}
} else {
if (taglineTypeIndex > 0) {
taglineElement.textContent = currentTagline.substring(0, taglineTypeIndex - 1);
taglineTypeIndex--;
setTimeout(typeTagline, 30);
} else {
isTaglineDeleting = false;
taglineIndex = (taglineIndex + 1) % taglines.length;
setTimeout(typeTagline, 500);
}
}
}
function typeWriter() {
const currentMessage = messages[messageIndex];
if (!isDeleting) {
if (typewriterIndex < currentMessage.length) {
typewriterElement.textContent += currentMessage.charAt(typewriterIndex);
typewriterIndex++;
setTimeout(typeWriter, 50);
} else {
setTimeout(() => {
isDeleting = true;
typeWriter();
}, 2000);
}
} else {
if (typewriterIndex > 0) {
typewriterElement.textContent = currentMessage.substring(0, typewriterIndex - 1);
typewriterIndex--;
setTimeout(typeWriter, 30);
} else {
isDeleting = false;
messageIndex = (messageIndex + 1) % messages.length;
setTimeout(typeWriter, 500);
}
}
}
// Start both typewriter effects with a delay
setTimeout(typeTagline, 1000);
setTimeout(typeWriter, 1000);
document.addEventListener('DOMContentLoaded', function() {
// Intersection Observer for scroll animations
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('reveal');
}
});
}, {
threshold: 0.1,
rootMargin: '0px 0px -50px 0px'
});
// Observe all animated elements
document.querySelectorAll('h2, p, .feature-card, ul li, .section').forEach(el => {
observer.observe(el);
});
// Emoji hover animation
document.querySelectorAll('.emoji-float').forEach(emoji => {
emoji.addEventListener('mouseover', () => {
emoji.style.animation = 'none';
emoji.offsetHeight; // Trigger reflow
emoji.style.animation = 'float 3s ease-in-out infinite';
});
});
// Terminal animation sequence
const terminalMessages = document.querySelectorAll('.typing-effect');
function animateMessages(index) {
if (index >= terminalMessages.length) return;
setTimeout(() => {
terminalMessages[index].classList.add('active');
animateMessages(index + 1);
}, 1000);
}
animateMessages(0);
// Reset and repeat animation
setInterval(() => {
terminalMessages.forEach(msg => {
msg.classList.remove('active');
});
setTimeout(() => {
animateMessages(0);
}, 500);
}, 8000);
});
</script>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
Back to top
</button>
</main>
<footer class="md-footer">
<nav class="md-footer__inner md-grid" aria-label="Footer" >
<a href="../" class="md-footer__link md-footer__link--prev" aria-label="Previous: Overview">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</div>
<div class="md-footer__title">
<span class="md-footer__direction">
Previous
</span>
<div class="md-ellipsis">
Overview
</div>
</div>
</a>
<a href="Why%20Change%20Maker/" class="md-footer__link md-footer__link--next" aria-label="Next: Why Change Maker">
<div class="md-footer__title">
<span class="md-footer__direction">
Next
</span>
<div class="md-ellipsis">
Why Change Maker
</div>
</div>
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"/></svg>
</div>
</a>
</nav>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2024 The Bunker Operations - Built with Change Maker
</div>
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.tracking", "navigation.indexes", "navigation.collapse", "navigation.path", "content.code.copy", "navigation.top", "navigation.tabs", "navigation.footer"], "search": "../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
<script src="../../assets/javascripts/bundle.13a4f30d.min.js"></script>
</body>
</html>