mirror of
https://github.com/mileswolfallen2/miles-web.git
synced 2026-09-08 11:23:17 +00:00
Add new blog posts for Nova AI and OmniEmu, and create robots.txt and sitemap.xml
- Created nova-devlog.html detailing the development of Nova AI, emphasizing its local operation and privacy features. - Created omniemu-devlog.html explaining the motivation behind OmniEmu, a cross-platform emulator manager. - Added robots.txt to manage web crawler access and disallow specific directories. - Added sitemap.xml to improve site indexing and navigation for search engines.
This commit is contained in:
@@ -4,6 +4,11 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>CommandMove | Miles Wolf Allen</title>
|
||||
<meta name="description" content="CommandMove — true cut-and-paste for Finder on macOS. Select files, Cmd+X, navigate, Cmd+V.">
|
||||
<link rel="canonical" href="https://milesallen.site/projects/command-move.html">
|
||||
<meta property="og:title" content="CommandMove | Miles Wolf Allen">
|
||||
<meta property="og:description" content="True cut-and-paste for Finder on macOS. Select files, Cmd+X, navigate, Cmd+V.">
|
||||
<meta property="og:image" content="https://milesallen.site/og.png">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Space+Mono:wght@400;700&family=Inter:wght@400;500;600;800&display=swap" rel="stylesheet">
|
||||
<link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
@@ -12,6 +17,18 @@
|
||||
<body>
|
||||
<div class="cursor-dot" id="cursorDot"></div>
|
||||
<div class="cursor-ring" id="cursorRing"></div>
|
||||
<div class="progress-bar" id="progressBar"></div>
|
||||
<button class="theme-toggle" id="themeToggle" aria-label="Toggle theme"></button>
|
||||
<div class="shortcut-modal" id="shortcutModal">
|
||||
<div class="shortcut-card">
|
||||
<h3>Keyboard Shortcuts</h3>
|
||||
<div class="shortcut-row"><span>Go Home</span><kbd>H</kbd></div>
|
||||
<div class="shortcut-row"><span>Go to GitHub</span><kbd>G</kbd></div>
|
||||
<div class="shortcut-row"><span>Toggle theme</span><kbd>T</kbd></div>
|
||||
<div class="shortcut-row"><span>Show shortcuts</span><kbd>?</kbd></div>
|
||||
<div class="close-hint">Press Esc or ? to close</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flash" id="flash"></div>
|
||||
<div class="toast-stack" id="toastStack"></div>
|
||||
<nav class="mobile-nav">
|
||||
@@ -120,6 +137,29 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="reveal">
|
||||
<div class="section-divider"></div>
|
||||
<h2 class="section-title">How It Compares</h2>
|
||||
<p class="section-subtitle">CommandMove vs alternatives</p>
|
||||
<div class="table-wrapper">
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Feature</th><th>CommandMove</th><th>macOS Finder</th><th>Path Finder</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>Cmd+X cut files</td><td class="check">Yes</td><td class="cross">No</td><td class="check">Yes</td></tr>
|
||||
<tr><td>Cmd+V move files</td><td class="check">Yes</td><td class="cross">No</td><td class="check">Yes</td></tr>
|
||||
<tr><td>Right-click cut</td><td class="check">Yes</td><td class="cross">No</td><td class="cross">No</td></tr>
|
||||
<tr><td>Menu bar controls</td><td class="check">Yes</td><td class="cross">No</td><td class="cross">No</td></tr>
|
||||
<tr><td>Auto-launch at login</td><td class="check">Yes</td><td class="cross">N/A</td><td class="cross">No</td></tr>
|
||||
<tr><td>Conflict handling</td><td class="check">Auto-numbered copies</td><td class="cross">N/A</td><td class="check">Prompt</td></tr>
|
||||
<tr><td>Free & open source</td><td class="check">Yes</td><td class="check">Built-in</td><td class="cross">$99</td></tr>
|
||||
<tr><td>Lightweight</td><td class="check">Yes</td><td class="check">Yes</td><td class="cross">Heavy</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="reveal">
|
||||
<div class="section-divider"></div>
|
||||
<h2 class="section-title">How It Works</h2>
|
||||
@@ -282,5 +322,44 @@
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
(function(){
|
||||
var bar=document.getElementById('progressBar');
|
||||
window.addEventListener('scroll',function(){
|
||||
var pct=window.scrollY/(document.body.scrollHeight-window.innerHeight)*100;
|
||||
bar.style.width=pct+'%';
|
||||
},{passive:true});
|
||||
})();
|
||||
(function(){
|
||||
var btn=document.getElementById('themeToggle');
|
||||
var saved=localStorage.getItem('theme');
|
||||
if(saved==='light')document.body.classList.add('light');
|
||||
function updateIcon(){btn.textContent=document.body.classList.contains('light')?'\u263E':'\u2600';}
|
||||
updateIcon();
|
||||
btn.addEventListener('click',function(){
|
||||
document.body.classList.toggle('light');
|
||||
localStorage.setItem('theme',document.body.classList.contains('light')?'light':'dark');
|
||||
updateIcon();
|
||||
});
|
||||
})();
|
||||
(function(){
|
||||
var modal=document.getElementById('shortcutModal');
|
||||
function toggleModal(){modal.classList.toggle('open');}
|
||||
window.addEventListener('keydown',function(e){
|
||||
if(e.key==='?'){e.preventDefault();toggleModal();}
|
||||
if(e.key==='Escape')modal.classList.remove('open');
|
||||
if(e.key==='t'||e.key==='T'){
|
||||
if(document.activeElement&&document.activeElement.tagName==='INPUT')return;
|
||||
document.body.classList.toggle('light');
|
||||
localStorage.setItem('theme',document.body.classList.contains('light')?'light':'dark');
|
||||
var btn=document.getElementById('themeToggle');
|
||||
btn.textContent=document.body.classList.contains('light')?'\u263E':'\u2600';
|
||||
}
|
||||
if(e.key==='h'||e.key==='H')window.location.href='../index.html';
|
||||
if(e.key==='g'||e.key==='G')window.location.href='https://github.com/mileswolfallen2';
|
||||
});
|
||||
modal.addEventListener('click',function(e){if(e.target===modal)modal.classList.remove('open');});
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user