mirror of
https://codeberg.org/Kankys/doxa.git
synced 2026-11-11 14:44:36 +01:00
362 lines
14 KiB
HTML
362 lines
14 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="cs">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
|
||
<link rel="shortcut icon" href="img/logo.jpg" />
|
||
<meta name="description"
|
||
content="DOXA Secret je minimalistická, local‑first poznámková aplikace s podporou otevřeným formátem JSON. Absolutní soukromí pro vaše myšlenky, které je plně šifrované" />
|
||
<link rel="canonical" href="https://secret.doxa-notes.org/index.html" />
|
||
<meta property="og:type" content="website" />
|
||
<meta property="og:url" content="https://secret.doxa-notes.org/" />
|
||
<meta property="og:title" content="DOXA Secret — šifrované Local-First poznámky a minimalistický terminal editor" />
|
||
<meta property="og:description"
|
||
content="DOXA Secret je minimalistická, local‑first poznámková aplikace s podporou otevřeným formátem JSON. Absolutní soukromí pro vaše myšlenky, které je plně šifrované" />
|
||
<!--<meta property="og:image" content="https://secret.doxa-notes.org/img/doxa.png" />
|
||
<meta property="og:image:alt" content="DOXA Notes - Local-First Notes & Sovereignty" />
|
||
<meta property="og:locale" data-i18n-key="ogLocale" data-i18n-attr="content" content="cs_CZ" />-->
|
||
|
||
<!--Twitter Card-->
|
||
<meta name="twitter:card" content="summary_large_image" />
|
||
<meta name="twitter:title" content="DOXA Notes — Local-First poznámky a minimalistický Markdown editor" />
|
||
<meta name="twitter:description"
|
||
content="DOXA Secret — šifrované Local-First poznámky a minimalistický terminal editor" />
|
||
<meta name="twitter:image" content="https://doxa-notes.org/img/logo.jpg" />
|
||
<meta name="twitter:image:alt" content="DOXA Secret — šifrované Local-First poznámky a minimalistický terminal editor" />
|
||
|
||
|
||
<title>DOXA secret</title>
|
||
<style>
|
||
* {
|
||
box-sizing: border-box;
|
||
margin: 0;
|
||
padding: 0;
|
||
}
|
||
|
||
body {
|
||
background-color: #0d1117;
|
||
color: #c9d1d9;
|
||
font-family: 'Courier New', Courier, monospace;
|
||
line-height: 1.6;
|
||
padding: 2rem 1rem;
|
||
}
|
||
|
||
.container {
|
||
max-width: 800px;
|
||
margin: 0 auto;
|
||
background-color: #161b22;
|
||
border: 1px solid #30363d;
|
||
border-radius: 6px;
|
||
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
|
||
overflow: hidden;
|
||
}
|
||
|
||
.terminal-header {
|
||
background-color: #21262d;
|
||
padding: 0.75rem 1rem;
|
||
border-bottom: 1px solid #30363d;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
}
|
||
|
||
.terminal-header-left {
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
|
||
.terminal-buttons {
|
||
display: flex;
|
||
gap: 8px;
|
||
}
|
||
|
||
.btn-circle {
|
||
width: 12px;
|
||
height: 12px;
|
||
border-radius: 50%;
|
||
}
|
||
|
||
.btn-close { background-color: #ff5f56; }
|
||
.btn-minimize { background-color: #ffbd2e; }
|
||
.btn-maximize { background-color: #27c93f; }
|
||
|
||
.terminal-title {
|
||
margin-left: 1rem;
|
||
font-size: 0.85rem;
|
||
color: #8b949e;
|
||
}
|
||
|
||
.lang-switch {
|
||
background-color: #30363d;
|
||
border: 1px solid #8b949e;
|
||
color: #f0f6fc;
|
||
padding: 2px 8px;
|
||
border-radius: 4px;
|
||
font-size: 0.8rem;
|
||
cursor: pointer;
|
||
font-family: inherit;
|
||
transition: all 0.2s ease;
|
||
}
|
||
|
||
.lang-switch:hover {
|
||
background-color: #8b949e;
|
||
color: #0d1117;
|
||
}
|
||
|
||
.terminal-body {
|
||
padding: 2rem;
|
||
}
|
||
|
||
h1 {
|
||
color: #58a6ff;
|
||
font-size: 1.5rem;
|
||
margin-bottom: 1rem;
|
||
}
|
||
|
||
p {
|
||
margin-bottom: 1.5rem;
|
||
color: #8b949e;
|
||
}
|
||
|
||
.prompt {
|
||
color: #7ee787;
|
||
}
|
||
|
||
.command {
|
||
color: #f0f6fc;
|
||
}
|
||
|
||
pre {
|
||
background-color: #0d1117;
|
||
border: 1px solid #30363d;
|
||
padding: 1rem;
|
||
border-radius: 4px;
|
||
overflow-x: auto;
|
||
margin-bottom: 1.5rem;
|
||
color: #a5d6ff;
|
||
}
|
||
|
||
code {
|
||
font-family: 'Courier New', Courier, monospace;
|
||
}
|
||
|
||
.section-title {
|
||
color: #ffa657;
|
||
margin-top: 1.5rem;
|
||
margin-bottom: 0.5rem;
|
||
font-size: 1.1rem;
|
||
}
|
||
|
||
ul {
|
||
list-style-type: none;
|
||
margin-bottom: 1.5rem;
|
||
padding-left: 1rem;
|
||
}
|
||
|
||
ul li::before {
|
||
content: "> ";
|
||
color: #7ee787;
|
||
}
|
||
|
||
ul li {
|
||
margin-bottom: 0.5rem;
|
||
}
|
||
|
||
a {
|
||
color: #58a6ff;
|
||
text-decoration: none;
|
||
}
|
||
|
||
a:hover {
|
||
text-decoration: underline;
|
||
}
|
||
|
||
.manual-highlight {
|
||
background-color: rgba(255, 166, 87, 0.1);
|
||
border-left: 4px solid #ffa657;
|
||
padding: 1rem;
|
||
margin: 1.5rem 0;
|
||
border-radius: 0 4px 4px 0;
|
||
}
|
||
|
||
.manual-highlight a {
|
||
font-weight: bold;
|
||
color: #ffa657;
|
||
text-decoration: underline;
|
||
}
|
||
|
||
.footer {
|
||
margin-top: 2rem;
|
||
border-top: 1px solid #30363d;
|
||
padding-top: 1rem;
|
||
font-size: 0.85rem;
|
||
color: #8b949e;
|
||
text-align: center;
|
||
font-style: italic;
|
||
}
|
||
|
||
/* Lang visibility styles */
|
||
[data-lang] {
|
||
display: none;
|
||
}
|
||
</style>
|
||
|
||
</head>
|
||
<body>
|
||
|
||
<div class="container">
|
||
<div class="terminal-header">
|
||
<div class="terminal-header-left">
|
||
<div class="terminal-buttons">
|
||
<div class="btn-circle btn-close"></div>
|
||
<div class="btn-circle btn-minimize"></div>
|
||
<div class="btn-circle btn-maximize"></div>
|
||
</div>
|
||
<div class="terminal-title">bash - doxa-secret</div>
|
||
</div>
|
||
<button class="lang-switch" onclick="toggleLang()" id="langBtn">EN</button>
|
||
</div>
|
||
|
||
<div class="terminal-body">
|
||
<h1>DOXA secret</h1>
|
||
|
||
<!-- CZ Mutation -->
|
||
<div data-lang="cs">
|
||
<p>Minimalistický a vysoce bezpečný offline nástroj příkazové řádky pro šifrování a dešifrování zpráv. Aplikace pracuje výhradně se základní abecedou latinky (bez diakritiky), což zaručuje bezproblémový přenos a správné zobrazení zpráv na různých operačních systémech a kódováních. Veškerá česká diakritika je při šifrování automaticky normalizována na základní znaky latinky.</p>
|
||
</div>
|
||
<!-- EN Mutation -->
|
||
<div data-lang="en">
|
||
<p>A minimalist and highly secure offline command-line tool for encrypting and decrypting messages. The application works exclusively with the basic Latin alphabet (without diacritics), which guarantees smooth transfer and correct rendering of messages across different operating systems and character encodings. All Czech accents are automatically normalized to basic Latin characters during encryption.</p>
|
||
</div>
|
||
|
||
<p align="center">
|
||
<img src="https://img.shields.io/badge/go-1.22+-00ADD8?style=flat-square&logo=go&logoColor=white" alt="Go 1.22+">
|
||
<img src="https://img.shields.io/badge/license-MIT-blue?style=flat-square" alt="MIT license">
|
||
<img src="https://img.shields.io/badge/tested-Linux-brightgreen?style=flat-square" alt="Tested on Linux">
|
||
</p>
|
||
<p align="center">
|
||
<img src="https://img.shields.io/badge/freebsd-AB2B28?style=for-the-badge&logo=freebsd&logoColor=white" alt="freeBSD">
|
||
</p>
|
||
|
||
<p align="center">
|
||
<img src="./img/homePage.png" width="100%" alt="homePage">
|
||
</p>
|
||
|
||
<!-- CZ Mutation -->
|
||
<div data-lang="cs">
|
||
<div class="manual-highlight">
|
||
🔥 <strong>Důležité:</strong> Podrobný návod k použití, instalaci a přehled klávesových zkratek naleznete v oficiálním manuálu:
|
||
<a href="https://codeberg.org/Kankys/doxa-secret/src/branch/master/MANUAL_CZ.md" target="_blank">Český uživatelský manuál (MANUAL_CZ.md)</a>
|
||
</div>
|
||
|
||
<div class="section-title">$ instalace</div>
|
||
<pre><code>git clone https://codeberg.org/Kankys/doxa-secret.git
|
||
cd doxa-secret
|
||
chmod +x install.sh
|
||
./install.sh</code></pre>
|
||
|
||
<div class="section-title">$ vlastnosti</div>
|
||
<ul>
|
||
<li>Lokální abeceda definovaná v JSON formátu bez diakritiky (pro maximální kompatibilitu)</li>
|
||
<li>Automatická normalizace diakritiky (např. "ž" se automaticky změní na "z")</li>
|
||
<li>Přehledné a moderní terminálové rozhraní (TUI) postavené na Bubbletea</li>
|
||
<li>Úplná kontrola nad vlastními daty bez cloudu</li>
|
||
<li>Oddělená organizace zpráv (šifrované do složky export, dešifrované ze složky import)</li>
|
||
</ul>
|
||
|
||
<div class="section-title">$ použití</div>
|
||
<pre><code># Spuštění aplikace
|
||
doxa-secret</code></pre>
|
||
|
||
<div class="section-title">$ odkazy</div>
|
||
<p>Zdrojový kód a kompletní repozitář naleznete na <a href="https://codeberg.org/Kankys/doxa-secret" target="_blank">Codebergu</a>.</p>
|
||
<p>Web mateřského projektu DOXA Notes naleznete na <a href="https://doxa-notes.org" target="_blank">oficálním webu</a>.</p>
|
||
<p>Web doxa-cli naleznete na <a href="https://cli.doxa-notes.org" target="_blank">oficálním webu</a>.</p>
|
||
|
||
<div class="footer">
|
||
"Skrýt tajemství za fasádou běžného zdání je prvním krokem k ochraně vnitřního klidu."
|
||
</div>
|
||
</div>
|
||
|
||
<!-- EN Mutation -->
|
||
<div data-lang="en">
|
||
<div class="manual-highlight">
|
||
🔥 <strong>Important:</strong> A detailed guide for installation,and keyboard shortcuts can be found in the official manual:
|
||
<a href="https://codeberg.org/Kankys/doxa-secret/src/branch/master/MANUAL.md" target="_blank">English User Manual (MANUAL.md)</a>
|
||
</div>
|
||
|
||
<div class="section-title">$ installation</div>
|
||
<pre><code>git clone https://codeberg.org/Kankys/doxa-secret.git
|
||
cd doxa-secret
|
||
chmod +x install.sh
|
||
./install.sh</code></pre>
|
||
|
||
<div class="section-title">$ features</div>
|
||
<ul>
|
||
<li>Local alphabet definitions in JSON format without diacritics (for maximum compatibility)</li>
|
||
<li>Automatic diacritics normalization (e.g. "á" is automatically normalized to "a")</li>
|
||
<li>Clean and modern Terminal User Interface (TUI) powered by Bubbletea</li>
|
||
<li>Zero reliance on third-party cloud services</li>
|
||
<li>Separate message organization (encrypted saved to export folder, received loaded from import)</li>
|
||
</ul>
|
||
|
||
<div class="section-title">$ usage</div>
|
||
<pre><code># Start the application
|
||
doxa-secret</code></pre>
|
||
|
||
<div class="section-title">$ links</div>
|
||
<p>Source code and the complete repository can be found on <a href="https://codeberg.org/Kankys/doxa-secret" target="_blank">Codeberg</a>.</p>
|
||
<p>DOXA Notes web can be found on the <a href="https://doxa-notes.org" target="_blank">official website</a>.</p>
|
||
<p>doxa-cli web can be found on the <a href="https://cli.doxa-notes.org" target="_blank">official website</a>.</p>
|
||
|
||
<div class="footer">
|
||
"Hiding secrets behind the facade of common appearance is the first step to protecting inner peace."
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p class="copyright" style="text-align: center;">Doxa-secret © 2026 | Local-First & Freedom 🦅</p>
|
||
</div>
|
||
|
||
<script>
|
||
let currentLang = 'cs';
|
||
|
||
function applyLang() {
|
||
document.querySelectorAll('[data-lang]').forEach(el => {
|
||
if (el.getAttribute('data-lang') === currentLang) {
|
||
el.style.display = 'block';
|
||
} else {
|
||
el.style.display = 'none';
|
||
}
|
||
});
|
||
document.getElementById('langBtn').innerText = currentLang === 'cs' ? 'EN' : 'CS';
|
||
document.documentElement.lang = currentLang;
|
||
}
|
||
|
||
function toggleLang() {
|
||
currentLang = currentLang === 'cs' ? 'en' : 'cs';
|
||
localStorage.setItem('doxa-secret-lang', currentLang);
|
||
applyLang();
|
||
}
|
||
|
||
// Initialize language
|
||
(function initLanguage() {
|
||
// 1. Check local storage
|
||
let savedLang = localStorage.getItem('doxa-secret-lang');
|
||
if (savedLang) {
|
||
currentLang = savedLang;
|
||
} else {
|
||
// 2. Check system language
|
||
let sysLang = navigator.language || navigator.userLanguage || 'en';
|
||
sysLang = sysLang.toLowerCase();
|
||
if (sysLang.startsWith('cs') || sysLang.startsWith('sk')) {
|
||
currentLang = 'cs';
|
||
} else {
|
||
currentLang = 'en';
|
||
}
|
||
}
|
||
applyLang();
|
||
})();
|
||
</script>
|
||
</body>
|
||
</html> |