add footer links to all pages

D David Veksler · 1 year ago bd4bb8d825313d24836b36809738e35d9edf28fe
Parent: a171ac5dc

14 files changed +160 −242

Diff

diff --git a/airisk.html b/airisk.html
index 381525b..1208dc0 100644
--- a/airisk.html
+++ b/airisk.html
@@ -373,14 +373,20 @@
 
     </div> <!-- /.container -->
 
-    <footer class="container text-center text-muted">
-        <p>Content based on common AI Safety discourse and resources from organizations like CAIS, FLI, GovAI, MIRI, 80,000 Hours, and research labs.</p>
-        <p>Layout inspired by the "15 Commitments of Conscious Leadership" cheatsheet template.
-           <br> Cheatsheet compiled by AI Assistant. &copy; 2025. <!-- Adjust Year --> Please verify information.
-        </p>
-        <!-- Suggestion: Link to the project/repo if this is hosted somewhere -->
-        <!-- <p><a href="YOUR_PROJECT_LINK_HERE" target="_blank" rel="noopener">Project Repository</a></p> -->
-    </footer>
+<footer class="container text-center text-muted pb-3">
+    <p>Content based on common AI Safety discourse and resources from organizations like CAIS, FLI, GovAI, MIRI, 80,000 Hours, and research labs.</p>
+    <p class="mb-2">Layout inspired by the "15 Commitments of Conscious Leadership" cheatsheet template.
+       <br> Cheatsheet compiled by AI Assistant. © 2025. Please verify information.
+    </p>
+    <div>
+      <a href="https://www.linkedin.com/in/davidveksler/" title="David Veksler on LinkedIn" target="_blank" rel="noopener noreferrer" class="mx-2 link-secondary">
+        <i class="bi bi-linkedin"></i> LinkedIn
+      </a>
+      <a href="https://cheatsheets.davidveksler.com/" title="Browse All Cheatsheets" class="mx-2 link-secondary">
+        <i class="bi bi-collection"></i> All Cheatsheets
+      </a>
+    </div>
+</footer>
 
     <!-- === JAVASCRIPT === -->
     <!-- Bootstrap JS Bundle (needed for tooltips) -->
diff --git a/bitcoin-exchanges-cards.html b/bitcoin-exchanges-cards.html
index 22e0545..718fab8 100644
--- a/bitcoin-exchanges-cards.html
+++ b/bitcoin-exchanges-cards.html
@@ -878,9 +878,18 @@
 </div> <!-- /container -->
 
 <footer class="container text-center">
-    <p id="footer-year"></p> <!-- Footer text set by JS -->
+    <p class="mb-2">© 2025 David Veksler</p>
+    <div>
+      <a href="https://www.linkedin.com/in/davidveksler/" title="David Veksler on LinkedIn" target="_blank" rel="noopener noreferrer" class="mx-2 link-secondary">
+        <i class="bi bi-linkedin"></i> LinkedIn
+      </a>
+      <a href="https://cheatsheets.davidveksler.com/" title="Browse All Cheatsheets" class="mx-2 link-secondary">
+        <i class="bi bi-collection"></i> All Cheatsheets
+      </a>
+    </div>
 </footer>
 
+
 <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
 <script>
 document.addEventListener('DOMContentLoaded', () => {
diff --git a/bitcoin-wallet.html b/bitcoin-wallet.html
index e01766e..23218f1 100644
--- a/bitcoin-wallet.html
+++ b/bitcoin-wallet.html
@@ -4057,10 +4057,17 @@
     </div>
     <!-- /container -->
 
-    <footer class="container text-center">
-      <p id="footer-year"></p>
-      <!-- Footer text set by JS -->
-    </footer>
+<footer class="container text-center">
+    <div>
+      <a href="https://www.linkedin.com/in/davidveksler/" title="David Veksler on LinkedIn" target="_blank" rel="noopener noreferrer" class="mx-2 link-secondary">
+        <i class="bi bi-linkedin"></i> LinkedIn
+      </a>
+      <a href="https://cheatsheets.davidveksler.com/" title="Browse All Cheatsheets" class="mx-2 link-secondary">
+        <i class="bi bi-collection"></i> All Cheatsheets
+      </a>
+    </div>
+</footer>
+
 
     <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
     <script>
diff --git a/browse.html b/browse.html
deleted file mode 100644
index a903b61..0000000
--- a/browse.html
+++ /dev/null
@@ -1,178 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>Cheatsheet Browser - DavidVeksler.com</title>
-    <link rel="canonical" href="https://cheatsheets.davidveksler.com/browse.html">
-
-    <!-- Bootstrap CSS -->
-    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
-
-    <style>
-        /* Style for the iframe container to maintain aspect ratio or fixed height */
-        .iframe-container {
-            position: relative;
-            overflow: hidden;
-            width: 100%;
-            height: 400px; /* Fixed height for preview */
-            border: 1px solid #dee2e6; /* Add a light border around iframe area */
-        }
-
-        .iframe-container iframe {
-            position: absolute;
-            top: 0;
-            left: 0;
-            width: 100%;
-            height: 100%;
-            border: 0;
-        }
-        .card-title-link {
-            text-decoration: none;
-            color: inherit;
-        }
-        .card-title-link:hover {
-            text-decoration: underline;
-        }
-    </style>
-</head>
-<body>
-    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
-        <div class="container">
-            <a class="navbar-brand" href="/">DavidVeksler.com Cheatsheets</a>
-        </div>
-    </nav>
-
-    <div class="container mt-4">
-        <h1 class="mb-4">Browse Cheatsheets</h1>
-
-        <div id="loading-indicator" class="alert alert-info">
-            Loading cheatsheet index...
-        </div>
-
-        <div id="error-indicator" class="alert alert-danger d-none">
-            <!-- Error messages will be placed here -->
-        </div>
-
-        <div id="cheatsheet-gallery" class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-4">
-            <!-- Gallery items will be inserted here by JavaScript -->
-        </div>
-    </div>
-
-    <footer class="py-4 mt-5 bg-light text-center">
-        <div class="container">
-            <span class="text-muted">Cheatsheets by David Veksler</span>
-        </div>
-    </footer>
-
-    <!-- Bootstrap Bundle with Popper -->
-    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
-
-    <script>
-        document.addEventListener('DOMContentLoaded', () => {
-            const galleryContainer = document.getElementById('cheatsheet-gallery');
-            const loadingIndicator = document.getElementById('loading-indicator');
-            const errorIndicator = document.getElementById('error-indicator');
-            const directoryUrl = '/'; // Fetch from the root of the current domain
-            // Alternatively, use absolute URL: const directoryUrl = 'https://cheatsheets.davidveksler.com/';
-            const baseHref = window.location.origin + window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/') + 1); // Base URL for resolving relative links
-
-            // Files/directories to exclude from the gallery
-            const excludedItems = [
-                '../',
-                'images/',
-                'LICENSE',
-                'README.md',
-                'browse.html', // Exclude this page itself
-                'safety_data.js' // Exclude non-html files explicitly if needed
-            ];
-
-            fetch(directoryUrl)
-                .then(response => {
-                    if (!response.ok) {
-                        throw new Error(`HTTP error! status: ${response.status} ${response.statusText}`);
-                    }
-                    return response.text();
-                })
-                .then(html => {
-                    loadingIndicator.classList.add('d-none'); // Hide loading indicator
-                    const parser = new DOMParser();
-                    const doc = parser.parseFromString(html, 'text/html');
-                    const links = doc.querySelectorAll('pre a'); // Links are within <pre> in the example
-
-                    let foundCheatsheets = false;
-
-                    links.forEach(link => {
-                        const href = link.getAttribute('href');
-                        const linkText = link.textContent.trim();
-
-                        // Basic filtering: must end with .html and not be in the excluded list
-                        if (href && href.endsWith('.html') && !excludedItems.includes(href)) {
-                            foundCheatsheets = true;
-                            const fullUrl = new URL(href, baseHref).href; // Construct full URL
-
-                            // Create a user-friendly title from the filename
-                            let title = href.replace('.html', '');
-                            title = title.replace(/[-_]/g, ' '); // Replace hyphens/underscores with spaces
-                            title = title.charAt(0).toUpperCase() + title.slice(1); // Capitalize first letter
-
-                            // Create Bootstrap Card element
-                            const cardCol = document.createElement('div');
-                            cardCol.className = 'col'; // Bootstrap handles column distribution
-
-                            const card = document.createElement('div');
-                            card.className = 'card h-100 shadow-sm'; // h-100 for equal height cards in a row
-
-                            const cardHeader = document.createElement('div');
-                            cardHeader.className = 'card-header';
-                            // Link the title to the actual page, opening in a new tab
-                            cardHeader.innerHTML = `<h5 class="card-title mb-0"><a href="${fullUrl}" target="_blank" class="card-title-link">${title}</a></h5>`;
-
-                            const cardBody = document.createElement('div');
-                            cardBody.className = 'card-body p-0'; // No padding to let iframe fill it
-
-                            const iframeContainer = document.createElement('div');
-                            iframeContainer.className = 'iframe-container';
-
-                            const iframe = document.createElement('iframe');
-                            iframe.setAttribute('src', fullUrl);
-                            iframe.setAttribute('title', `Preview of ${title} Cheatsheet`);
-                            iframe.setAttribute('loading', 'lazy'); // Lazy load iframes for performance
-                            // iframe.setAttribute('sandbox', 'allow-scripts allow-same-origin'); // Optional: sandbox for security, might break cheatsheet functionality
-                            iframe.style.border = '0'; // Ensure no border via style attribute too
-
-                            iframeContainer.appendChild(iframe);
-                            cardBody.appendChild(iframeContainer);
-
-                            const cardFooter = document.createElement('div');
-                            cardFooter.className = 'card-footer text-center';
-                            cardFooter.innerHTML = `<a href="${fullUrl}" target="_blank" class="btn btn-sm btn-outline-primary">Open Full Page</a>`;
-
-                            card.appendChild(cardHeader);
-                            card.appendChild(cardBody);
-                            card.appendChild(cardFooter);
-                            cardCol.appendChild(card);
-                            galleryContainer.appendChild(cardCol);
-                        }
-                    });
-
-                    if (!foundCheatsheets) {
-                         showError('No cheatsheet HTML files found in the directory index.');
-                    }
-
-                })
-                .catch(error => {
-                    console.error('Error fetching or parsing directory index:', error);
-                    loadingIndicator.classList.add('d-none');
-                    showError(`Failed to load cheatsheets: ${error.message}. Please check the console for details.`);
-                });
-
-            function showError(message) {
-                errorIndicator.textContent = message;
-                errorIndicator.classList.remove('d-none');
-            }
-        });
-    </script>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/buddhism.html b/buddhism.html
index 0687b44..8556c36 100644
--- a/buddhism.html
+++ b/buddhism.html
@@ -286,9 +286,17 @@
             </div>
         </div>
     </div>
-    <footer class="container text-center text-muted">
-        <p>© 2025 Buddhist Principles Overview. Info from Access to Insight, SuttaCentral, Wikipedia, etc.</p>
-    </footer>
+<footer class="container text-center text-muted pb-3">
+    <p class="mb-2">© 2025 Buddhist Principles Overview. Info from Access to Insight, SuttaCentral, Wikipedia, etc.</p>
+    <div>
+      <a href="https://www.linkedin.com/in/davidveksler/" title="David Veksler on LinkedIn" target="_blank" rel="noopener noreferrer" class="mx-2 link-secondary">
+        <i class="bi bi-linkedin"></i> LinkedIn
+      </a>
+      <a href="https://cheatsheets.davidveksler.com/" title="Browse All Cheatsheets" class="mx-2 link-secondary">
+        <i class="bi bi-collection"></i> All Cheatsheets
+      </a>
+    </div>
+</footer>
     <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
     <!-- Removed Vanilla Tilt JS -->
     <script>
diff --git a/capitalism.html b/capitalism.html
index 625d06c..dab9453 100644
--- a/capitalism.html
+++ b/capitalism.html
@@ -346,9 +346,16 @@
     </div>
 </div>
 
-<footer>
-    <p>This cheatsheet reflects a strong pro-capitalist viewpoint. Always consult diverse sources for a balanced understanding.</p>
-    <p>© 2025 Generated by AI Assistant.</p>
+<footer class="container text-center pb-3">
+    <p class="mb-2">© 2025 David Veksler</p>
+    <div>
+      <a href="https://www.linkedin.com/in/davidveksler/" title="David Veksler on LinkedIn" target="_blank" rel="noopener noreferrer" class="mx-2 link-secondary">
+        <i class="bi bi-linkedin"></i> LinkedIn
+      </a>
+      <a href="https://cheatsheets.davidveksler.com/" title="Browse All Cheatsheets" class="mx-2 link-secondary">
+        <i class="bi bi-collection"></i> All Cheatsheets
+      </a>
+    </div>
 </footer>
 
 <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
diff --git a/conscious-leadership-contexts.html b/conscious-leadership-contexts.html
index d65e8d4..6a718bc 100644
--- a/conscious-leadership-contexts.html
+++ b/conscious-leadership-contexts.html
@@ -467,16 +467,24 @@
         </div> <!-- /.row -->
     </div> <!-- /.container -->
 
-    <footer class="container text-center">
-         <p>
-             This table summarizes the "Four Contexts" from <a href="https://conscious.is/the-15-commitments" target="_blank" rel="noopener noreferrer">The 15 Commitments of Conscious Leadership</a> by Jim Dethmer, Diana Chapman, & Kaley Warner Klemp.
-         </p>
-          <p>
-             For a summary of the core commitments, see the <a href="https://cheatsheets.davidveksler.com/leadership.html" target="_blank" rel="noopener noreferrer">Full 15 Commitments Cheatsheet</a>.
-         </p>
-        <p>Visit the <a href="https://conscious.is/" target="_blank" rel="noopener noreferrer">Conscious Leadership Group</a> | Buy the <a href="https://www.amazon.com/15-Commitments-Conscious-Leadership-Sustainable/dp/0990976904" target="_blank" rel="noopener noreferrer">Book</a></p>
-         <p>Adapted from prior summaries & the main cheatsheet by David Veksler. &copy; 2025 David Veksler. Please verify with primary sources.</p>
-    </footer>
+    <footer class="container text-center pb-3">
+    <p>
+        This table summarizes the "Four Contexts" from <a href="https://conscious.is/the-15-commitments" target="_blank" rel="noopener noreferrer">The 15 Commitments of Conscious Leadership</a> by Jim Dethmer, Diana Chapman, & Kaley Warner Klemp.
+    </p>
+    <p>
+        For a summary of the core commitments, see the <a href="https://cheatsheets.davidveksler.com/leadership.html" target="_blank" rel="noopener noreferrer">Full 15 Commitments Cheatsheet</a>.
+    </p>
+    <p>Visit the <a href="https://conscious.is/" target="_blank" rel="noopener noreferrer">Conscious Leadership Group</a> | Buy the <a href="https://www.amazon.com/15-Commitments-Conscious-Leadership-Sustainable/dp/0990976904" target="_blank" rel="noopener noreferrer">Book</a></p>
+    <p class="mb-2">Adapted from prior summaries & the main cheatsheet by David Veksler. © 2025 David Veksler. Please verify with primary sources.</p>
+    <div>
+      <a href="https://www.linkedin.com/in/davidveksler/" title="David Veksler on LinkedIn" target="_blank" rel="noopener noreferrer" class="mx-2 link-secondary">
+        <i class="bi bi-linkedin"></i> LinkedIn
+      </a>
+      <a href="https://cheatsheets.davidveksler.com/" title="Browse All Cheatsheets" class="mx-2 link-secondary">
+        <i class="bi bi-collection"></i> All Cheatsheets
+      </a>
+    </div>
+</footer>
 
     <!-- === JAVASCRIPT === -->
     <!-- Bootstrap JS Bundle (needed for tooltips) -->
diff --git a/databases.html b/databases.html
index 0f18067..243df40 100644
--- a/databases.html
+++ b/databases.html
@@ -1317,8 +1317,16 @@
 
 </div> <!-- /container -->
 
-<footer class="container text-center">
-    <p>© 2025 David Veksler <!-- Or use dynamic year --></p>
+<footer class="container text-center pb-3">
+    <p class="mb-2">© 2025 David Veksler</p>
+    <div>
+      <a href="https://www.linkedin.com/in/davidveksler/" title="David Veksler on LinkedIn" target="_blank" rel="noopener noreferrer" class="mx-2 link-secondary">
+        <i class="bi bi-linkedin"></i> LinkedIn
+      </a>
+      <a href="https://cheatsheets.davidveksler.com/" title="Browse All Cheatsheets" class="mx-2 link-secondary">
+        <i class="bi bi-collection"></i> All Cheatsheets
+      </a>
+    </div>
 </footer>
 
 <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
diff --git a/index.php b/index.php
index 1cb670d..e7f7fa0 100644
--- a/index.php
+++ b/index.php
@@ -345,13 +345,21 @@ try {
         <?php endif; ?>
     </main>
 
-    <footer class="footer py-4 mt-auto border-top">
-        <div class="container text-center">
+ <footer class="footer pb-3 mt-auto border-top">
+    <div class="container text-center">
+        <p class="mb-2">
             <span class="text-muted">Cheatsheets by David Veksler © <?php echo date("Y"); ?></span>
-             <!-- Optional: Add links -->
-             <!-- <small class="d-block mt-2"><a href="#">About</a> | <a href="#">Contact</a></small> -->
+        </p>
+        <div>
+          <a href="https://www.linkedin.com/in/davidveksler/" title="David Veksler on LinkedIn" target="_blank" rel="noopener noreferrer" class="mx-2 link-secondary">
+            <i class="bi bi-linkedin"></i> LinkedIn
+          </a>
+          <a href="https://cheatsheets.davidveksler.com/" title="Browse All Cheatsheets" class="mx-2 link-secondary">
+            <i class="bi bi-collection"></i> All Cheatsheets
+          </a>
         </div>
-    </footer>
+    </div>
+</footer>
 
     <!-- Bootstrap Bundle with Popper -->
     <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
diff --git a/judaism.html b/judaism.html
index 1d52f91..2eb1454 100644
--- a/judaism.html
+++ b/judaism.html
@@ -3047,12 +3047,20 @@
         </div>
       </div>
     </div>
-    <footer class="container text-center">
-      <p>
-        © 2025 David Veksler · Compiled & expanded based on Tanakh, Talmud, classic commentators, and standard Jewish
-        practice. Consult a qualified rabbi or scholar for definitive guidance.
-      </p>
-    </footer>
+    <footer class="container text-center pb-3">
+  <p class="mb-2">
+    © 2025 David Veksler · Compiled & expanded based on Tanakh, Talmud, classic commentators, and standard Jewish
+    practice. Consult a qualified rabbi or scholar for definitive guidance.
+  </p>
+  <div>
+    <a href="https://www.linkedin.com/in/davidveksler/" title="David Veksler on LinkedIn" target="_blank" rel="noopener noreferrer" class="mx-2 link-secondary">
+      <i class="bi bi-linkedin"></i> LinkedIn
+    </a>
+    <a href="https://cheatsheets.davidveksler.com/" title="Browse All Cheatsheets" class="mx-2 link-secondary">
+      <i class="bi bi-collection"></i> All Cheatsheets
+    </a>
+  </div>
+</footer>
     <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
     <script>
       // Hebrew Toggle Functionality
diff --git a/leadership.html b/leadership.html
index 08cbade..9bf1d56 100644
--- a/leadership.html
+++ b/leadership.html
@@ -832,16 +832,24 @@
         </div> <!-- /.row -->
     </div> <!-- /.container -->
 
-    <footer class="container text-center">
-        <p>Based on <a href="https://conscious.is/the-15-commitments" target="_blank" rel="noopener noreferrer">The 15 Commitments of Conscious Leadership</a> by Jim Dethmer, Diana Chapman, & Kaley Warner Klemp. <br>
-            Visit the <a href="https://conscious.is/" target="_blank" rel="noopener noreferrer">Conscious Leadership Group</a> | Buy the <a href="https://www.amazon.com/15-Commitments-Conscious-Leadership-Sustainable/dp/0990976904" target="_blank" rel="noopener noreferrer">Book</a>
-        </p>
-         <p>Further Reading/Summaries:
-             <a href="https://readingraphics.com/book-summary-the-15-commitments-of-conscious-leadership/" target="_blank" rel="noopener noreferrer">Readingraphics Summary</a> |
-             <a href="https://www.20minutebooks.com/the-15-commitments-of-conscious-leadership" target="_blank" rel="noopener noreferrer">20 Minute Books Summary</a>
-         </p>
-         <p>Adapted from prior summaries by Human First Works & Selling Sherpa (Sep 2023). <br> © 2025 David Veksler. Please verify information with primary sources.</p>
-    </footer>
+<footer class="container text-center pb-3">
+    <p>Based on <a href="https://conscious.is/the-15-commitments" target="_blank" rel="noopener noreferrer">The 15 Commitments of Conscious Leadership</a> by Jim Dethmer, Diana Chapman, & Kaley Warner Klemp. <br>
+        Visit the <a href="https://conscious.is/" target="_blank" rel="noopener noreferrer">Conscious Leadership Group</a> | Buy the <a href="https://www.amazon.com/15-Commitments-Conscious-Leadership-Sustainable/dp/0990976904" target="_blank" rel="noopener noreferrer">Book</a>
+    </p>
+    <p>Further Reading/Summaries:
+        <a href="https://readingraphics.com/book-summary-the-15-commitments-of-conscious-leadership/" target="_blank" rel="noopener noreferrer">Readingraphics Summary</a> |
+        <a href="https://www.20minutebooks.com/the-15-commitments-of-conscious-leadership" target="_blank" rel="noopener noreferrer">20 Minute Books Summary</a>
+    </p>
+    <p class="mb-2">Adapted from prior summaries by Human First Works & Selling Sherpa (Sep 2023). <br> © 2025 David Veksler. Please verify information with primary sources.</p>
+    <div>
+      <a href="https://www.linkedin.com/in/davidveksler/" title="David Veksler on LinkedIn" target="_blank" rel="noopener noreferrer" class="mx-2 link-secondary">
+        <i class="bi bi-linkedin"></i> LinkedIn
+      </a>
+      <a href="https://cheatsheets.davidveksler.com/" title="Browse All Cheatsheets" class="mx-2 link-secondary">
+        <i class="bi bi-collection"></i> All Cheatsheets
+      </a>
+    </div>
+</footer>
 
     <!-- JAVASCRIPT -->
     <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
diff --git a/objectivism.html b/objectivism.html
index 6357eed..8cc0084 100644
--- a/objectivism.html
+++ b/objectivism.html
@@ -422,9 +422,16 @@
 
     </div> <!-- /.container-lg -->
 
-    <footer class="container">
-        <p>Cheatsheet based on the philosophy of Ayn Rand. Structure inspired by user request.</p>
-    </footer>
+<footer class="container text-center pb-3">
+    <div>
+      <a href="https://www.linkedin.com/in/davidveksler/" title="David Veksler on LinkedIn" target="_blank" rel="noopener noreferrer" class="mx-2 link-secondary">
+        <i class="bi bi-linkedin"></i> LinkedIn
+      </a>
+      <a href="https://cheatsheets.davidveksler.com/" title="Browse All Cheatsheets" class="mx-2 link-secondary">
+        <i class="bi bi-collection"></i> All Cheatsheets
+      </a>
+    </div>
+</footer>
     <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
     <script>
         // Ensure DOM is ready before initializing JS components
diff --git a/postgresql.html b/postgresql.html
index ec170b8..1a5206d 100644
--- a/postgresql.html
+++ b/postgresql.html
@@ -2569,9 +2569,16 @@ GRANT EXECUTE ON FUNCTION log_action(integer, text) TO app_user;</code></pre>
 
 </div> <!-- /container -->
 
-<footer class="container text-center">
-    <!-- Updated Year -->
-    <p>© 2025 David Veksler</p> <!-- UPDATE YEAR AS NEEDED -->
+<footer class="container text-center pb-3">
+    <p class="mb-2">© 2025 David Veksler</p>
+    <div>
+      <a href="https://www.linkedin.com/in/davidveksler/" title="David Veksler on LinkedIn" target="_blank" rel="noopener noreferrer" class="mx-2 link-secondary">
+        <i class="bi bi-linkedin"></i> LinkedIn
+      </a>
+      <a href="https://cheatsheets.davidveksler.com/" title="Browse All Cheatsheets" class="mx-2 link-secondary">
+        <i class="bi bi-collection"></i> All Cheatsheets
+      </a>
+    </div>
 </footer>
 
 <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
diff --git a/versioncontrol.html b/versioncontrol.html
index 118772d..e57f107 100644
--- a/versioncontrol.html
+++ b/versioncontrol.html
@@ -388,12 +388,17 @@
 
 
     </div> <!-- /history-container -->
-
-    <footer class="container text-center mt-4 pt-4 pb-5 border-top">
-        <!-- Update copyright name and year as appropriate -->
-        <p class="text-muted small">Cheatsheet content by David Veksler | © 2024</p>
-        <p class="text-muted small">Requires `history_tree_style.css` for full visual effect.</p>
-    </footer>
+<footer class="container text-center mt-4 pt-4 pb-5 border-top">
+    <p class="mb-2">© 2025 David Veksler</p>
+    <div>
+      <a href="https://www.linkedin.com/in/davidveksler/" title="David Veksler on LinkedIn" target="_blank" rel="noopener noreferrer" class="mx-2 link-secondary">
+        <i class="bi bi-linkedin"></i> LinkedIn
+      </a>
+      <a href="https://cheatsheets.davidveksler.com/" title="Browse All Cheatsheets" class="mx-2 link-secondary">
+        <i class="bi bi-collection"></i> All Cheatsheets
+      </a>
+    </div>
+</footer>
 
     <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
     <script>