jedem od znova

This commit is contained in:
Kankys 2024-03-30 14:22:13 +01:00
commit a9120b016c
4 changed files with 799 additions and 0 deletions

BIN
img/icons8-rocket.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

447
index.html Normal file
View File

@ -0,0 +1,447 @@
<!DOCTYPE html>
<html lang="cs">
<!-- Lukáš Kaňka -->
<!-- lukas.kanka@outlook.cz -->
<!-- Discord: Lukáš K. -->
<head>
<meta charset="UTF-8" />
<meta name="description" content="ApolloNvim svoboda v programování...." />
<meta name="keywords" content="ApolloNvim Distro" />
<meta name="author" content="Kankys" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="style.css" />
<link rel="shortcut icon" href="img/icons8-rocket.gif" />
<!--nav bar-->
<script
src="https://kit.fontawesome.com/0a43c6cd1f.js"
crossorigin="anonymous"
></script>
<!--icons dark, go to up-->
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"
/>
<!--ubuntu fonts-->
<style>
@import url("https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap");
</style>
<title>ApolloNvim</title>
</head>
<body>
<header>
<h1 class="title">🚀ApolloNvim</h1>
<!-- Terminal - navigation -->
<nav class="navigation">
<ul>
<li><a href="#install">Instalace</a></li>
<li><a href="#neovim">Neovim</a></li>
<li><a href="#contact">Kontakty</a></li>
</ul>
</nav>
<div class="menu-icon">
<!-- Ikona hamburger -->
<i class="fa-solid fa-bars"></i>
<!-- Ikona cross -->
<!-- <i class="fa-solid fa-xmark"></i> -->
</div>
</header>
<hr />
<button id="toggleButton"><i class="fas fa-adjust"></i></button>
<!--Začátek sekcí - co h2 sekce + fotogalerie-->
<section class="content" id="welcome">
<section class="welcome">
<h2>Úvod:</h2>
<p>
👉 Neovim setup pro Front-End vývoj postavený na
<a href="https://github.com/neoclide/coc.nvim" target="_blank">Coc</a
>.
</p>
<p>
👉 Výhody Neovim oproti klasickému IDE jsou nesporně v svobodě
konfigurace, je tisíce možností jak Váš Neovim může vypadat a
fungovat. Pro Vaši inspiraci a použití vznikl tento projekt 🚀
ApolloNvim.
</p>
<p>
👉 Tato distribuce nefunguje jen že kliknete na tlačítko a nainstaluje
se. Vede Vás k samostatné instalaci pomocí tohoto webu. Cílem je
pochopit jak Neovim funguje aby jste si mohli samy vše modifikovat,
což i click-on distribucí se nenaučíte.
</p>
<p>
👉 Toto nastavení je primárně pro vývoj webu, ale není problém si vše
přizpůsobit. Inspiroval jsem se pluginy které jsem využíval v VSCode a
Webstorm.
</p>
<p>👉 Velký důraz je kladen na rychlost a lehkost.</p>
<p>
👉 🚀 ApolloNvim Distro je stále ve vývoji a postupně se na něm
pracuje.
</p>
<p>
👉 Pro nejlepší zážitek s 🚀 ApolloNvim Distro doporučuji používat
multiplexor
<a
href="https://git.archoslinux.cz/kankys/zellij-mySetup"
target="_blank"
>Zellij </a
>, ale není to samozřejmě podmínkou.
</p>
</section>
<section id="advantages">
<h2>Přednosti:</h2>
<p>
👉 Hlavní přednosti tohoto nastavení jsou podpora: Tabnine, Prettier,
AutoSave, doplňování HTML, CSS, JS a zkratky k zakomentování a odk
omentování kódu. Taky je zde několik pluginu pro příjemnější práci v
Neovim.
</p>
<p>
👉 S
<a href="https://github.com/neovim/nvim-lspconfig" target="_blank"
>LSP</a
>
v této instalaci využívám
<a href="https://github.com/neoclide/coc.nvim" target="_blank">Coc</a>
pro jeho jednoduchost s minimálními zásahy do konfigurace Coc. LSP se
mi velmi osvědčilo v modálním editoru
<a href="https://helix-editor.com/" target="_blank">Helix-editor</a>
má konfigurace
<a
href="https://git.archoslinux.cz/kankys/Helix-frontend-setup"
target="_blank"
>Helixu</a
>.
</p>
<p>
👉 Ty nejlepší témata pro Neovim ať je nemusíš hledat, defaultně je
nastavéné Dracula.
</p>
<p>
👉 Témá v Neovim si jednoduše změníš v command line příkazem
`colorscheme` a tlačítkem Tab se budeš přepínat mezi jednotlivými
tématy.
</p>
</section>
<section class="photo">
<img class="picture" src="img/home.png" alt="Homescreen" />
<img class="picture1" src="img/config.png" alt="config.vim" />
<img class="picture2" src="img/fzf.png" alt="fzf" />
</section>
<section id="install">
<h2>Instalace a nastavení:</h2>
<p>
👉 Pokud ještě nemáš nainstaluj si
<a href="https://neovim.io/" target="_blank">Neovim</a>.
</p>
<p>
👉 Bude potřeba nainstalovat plug.vim aby jsi mohl/a instalovat
rozšíření.
</p>
<p>
👉 Běž na tuto
<a href="https://github.com/junegunn/vim-plug" target="_blank"
>stránku</a
>
pod Installation si najdi svůj operační systém a zkopíruj odkaz pod
ním do svého terminálu.
</p>
<p>👉 Nejprve si zálohuj své aktuální nastavení Neovim!!!</p>
<p>👉 Linux & Mac:</p>
<div class="code-box">
<p>/home/kankys/.config/nvim/init.vim</p>
</div>
<p>Windows:</p>
<div class="code-box">
<p>~\AppData\Local\nvim</p>
</div>
<section id="node">
<h2>Node.js:</h2>
<p>
👉 Doporučuji mít nainstalovaný
<a href="https://nodejs.org/en" href="_blank">Node.js</a>.
</p>
<p>
👉 Dále si v Node.js nainstaluj
<a href="https://www.npmjs.com/package/live-server" target="_blank"
>Live-server</a
>
příkazem:
</p>
<div class="code-box">
<p>npm i live-server</p>
</div>
<p>
(Platí v případě že chceš dělat front-end nebo programovat v
Javascriptu).
</p>
<p>👉 Ve svém projektu budeš moc pouštět svůj index.html příkazem:</p>
<div class="code-box">
<p>npx live-server</p>
</div>
</section>
<section id="neovim">
<h2>Neovim:</h2>
<p>
👉 Pro instalaci 🚀 ApolloNvim Distra ti stačí stáhnout pouze soubor
init.vim s tohoto repositáře.
</p>
<p>
👉 Ulož ho do kořenováho adresáře <strong>~/.. /nvim</strong> dle
tvého OS. <strong>Nezapomeň na zálohu stávajících souborů</strong>
</p>
<p>👉 Neovim pustíš v terminálu příkazem <strong>nvim</strong>.</p>
<p>👉 Odklikej chybová hlášení.</p>
<p>
👉 V Neovimu zadej do command line <strong>PlugIns</strong> , tím
nainstaluješ všechny pluginy. Restartuj Neovim.
</p>
<p>
👉 Pokud ti některý plugin chybí můžeš ho lehce doinstalovat nebo
naopak odinstalovat pomocí <strong>plug.vim</strong>. Více informací
najdeš na GitHubu
<a href="https://github.com/junegunn/vim-plug" target="_blank"
>plug.vim</a
>
nebo velmi rád poradím viz. o nás.
</p>
<p>
👉 Pokud některý plugin nechcete používat stačí v souboru
<strong>init.vim</strong> ho zakomentovat pomocí dvojitých uvozovek
<strong>"</strong>.
</p>
<p>
👉 Do command line ještě zadej Coc příkaz pro doinstalování zbylých
pluginů:
</p>
<div class="code-box">
<p>
CocInstall coc-todolist coc-tailwindcss coc-prettier coc-json
coc-html-css-support coc-html coc-emmet coc-xml coc-tsserver
coc-lsp-wl coc-lit-html coc-htmldjango coc-css
coc-markdown-preview-enhanced coc-markdownlint
</p>
</div>
<p>👉 A ještě jednou restartuj Neovim a vše máš připravené.</p>
<p>
👉 Také se zde podívej do souboru
<a
href="https://git.archoslinux.cz/kankys/ApolloNvim/src/branch/main/Hint.md"
target="_blank"
>Hint.md</a
>, pomůže ti na začátku.
</p>
<p>
👉 Tuto konfiguraci používám na Linuxu i MacOS. Je ozkoušena i na
Windows 11.
</p>
</section>
<section id="apollo">
<h2>Plán 🚀ApolloNvim:</h2>
<p>
👉 Do budoucna můžete očekávat tyto nové funkce a další novinky:
</p>
<p>
👉 Web na vlastní doméně zatím ApolloNvim najdeš
<a href="https://lukaskanka.cz/apollo-nvim" target="_blank">zde</a>.
-> Vysoká priorita
</p>
<p>👉 Instalátor 🚀 ApolloNvim přes odkaz Git.</p>
<p>👉 Nová vlastní uvítací obrazovka.</p>
<p>👉 Nové pluginy.</p>
<p>👉 Telegram skupina k projektu.</p>
<p>
👉 Návody k pluginům, jak nastavit a jak s nimi pracovat. -> Vysoká
priorita
</p>
<p>👉 Návody k práci s Neovim -> Vysoká priorita</p>
</section>
<section id="plugin">
<h2>Výběr pluginu v Lite Web 🚀 ApolloNvim Distro 2024:</h2>
<p>
👉
<a href="https://github.com/m4xshen/autoclose.nvim" target="_blank"
>Autoclosetag</a
>
nástroj pro uzavírání všech typů závorek a tagů.
</p>
<p>
👉
<a
href="https://github.com/valsorym/scrooloose-nerdtree"
target="_blank"
>NERDTree</a
>
vytvoří ti stromový postranní panel.
</p>
<p>
👉
<a href="https://github.com/neoclide/coc.nvim" target="_blank"
>Coc</a
>
manager pro instalování doplňků do Neovim.
</p>
<p>
👉
<a href="https://github.com/codota/tabnine-nvim" target="_blank"
>Tabnine</a
>
alternativa k GitHub Copilot, který si případně lehce také můžeš
doinstalovat.
<a href="https://www.tabnine.com/" target="_blank">Tabnine</a>
narozdíl od Copilota nabízí free program a trial verzi na 90 dní.
</p>
<p>
👉
<a href="https://github.com/mhinz/vim-startify" target="_blank"></a>
alternativní uvítací obrazovka s pokaždé jiným IT mottem. Nemusí
fungovat s některými terminály či NERDTree nastaveným spuštěním po
startu.
</p>
<p>
👉
<a href="https://github.com/preservim/nerdcommenter" target="_blank"
>NERD Commenter</a
>
plugin pro zakomentování a odkomentování kódu. Zde ho máme nastaven
na
<strong>Ctrl + k</strong>.
</p>
<p>
👉
<a href="https://wakatime.com/neovim" target="_blank">Wakatime</a>
služba která je schopna měřit kolik času jste trávily při kódování
na pc a i na kterém projektu. Služba se jednoduše propojí přes API.
WakaTime najdeš
<a href="https://wakatime.com/" target="_blank">zde</a>.
</p>
<p>
👉
<a href="https://github.com/junegunn/fzf.vim" target="_blank"
>fzf.vim</a
>
asynchronií vyhledávač souboru v projektu. Pro mnohé je toto
vyhledávaní rychlejší než klasické stromové, chce to trochu času.
Ale jak se dostane pod kůži vše ostatní Vám už přijde pomalé.
</p>
<p>
👉
<a href="https://github.com/Pocco81/auto-save.nvim" target="_blank"
>Auto-save</a
>
plugin pro automatické ukládání vašich souboru.
</p>
</section>
<section id="coc">
<h2>Coc extensions pro front-end:</h2>
<p>👉 coc-todolist</p>
<p>👉 coc-tailwindcss</p>
<p>👉 coc-project-manager</p>
<p>👉 coc-prettier</p>
<p>👉 coc-json</p>
<p>👉 coc-html-css-support</p>
<p>👉 coc-html</p>
<p>👉 coc-emmet</p>
<p>👉 coc-xml</p>
<p>👉 coc-tsserver</p>
<p>👉 coc-lsp-wl</p>
<p>👉 coc-lit-html</p>
<p>👉 coc-htmldjango</p>
<p>👉 coc-css</p>
<p>👉 coc-markdown-preview-enhanced</p>
<p>👉 coc-markdownlint</p>
<p>👉 coc-eslint</p>
</section>
<section id="faq">
<h2>Otázky a odpovědi:</h2>
<p>👉 Kolik stojí 🚀 ApolloNvim? -> Ne 🚀 ApolloNvim je zdarma.</p>
</section>
<section id="contact">
<h2>Kontakty:</h2>
<p>
<a href="https://t.me/+o6qcLGlFROJhNzhk" target="_blank"
>👉 🚀 ApolloNvim Telegram skupina</a
>
</p>
<p>
<a href="https://lukaskanka.cz/" target="_blank"
>👉 Osobní web autora 🚀 ApolloNvim</a
>
</p>
<p>
<a href="https://git.archoslinux.cz/kankys" target="_blank"
>👉 Gitea profil</a
>
</p>
<p>
<a href="https://github.com/LukasKanka/" target="_blank"
>👉 GitHub</a
>
</p>
<p>
<a
href="https://nostr.band/npub12xzu8ejrl9cwpd034cqj5jtuztn4mxp3em2frckm9tk28kmy48vqr0u0yu"
target="_blank"
>👉 Nostr</a
>
</p>
<p>
<a href="https://mastodon.arch-linux.cz/@Kankys" target="_blank" 👉>
Mastodon</a
>
</p>
</section>
<section class="login"></section>
<section id="help">
<h2>Podpora:</h2>
<p>
👉 Pokud jakkoliv chceš podpořit nebo se podílet na obsahu a
funkčnosti 🚀 ApolloNvim, prosím budu rád když mi zde napíšeš.
</p>
<p>👉 Taky můžeš tento projekt podpořit pár Satoshi:</p>
<img
class="sat"
src="https://lukaskanka.cz/index/about/img/sat.jpeg"
alt="Satoshi"
/>
</section>
<section id="other">
<h2>Další projekty a odkazy:</h2>
<p>
👉 <a href="https://arch-linux.cz/" target="_blank">ArchLinux CZ</a>
</p>
<p>
👉
<a href="https://searxng.cz/" target="_blank"
>Vyhledávač SearXNG CZ</a
>
</p>
<p>
👉
<a href="https://endeavouros.com/" target="_blank"
>EndeavourOS Linux</a
>
</p>
<p>
👉 <a href="https://i3wm.org/" target="_blank">i3 window manager</a>
</p>
</section>
</section>
<button onclick="scrollToTop()" id="scrollToTopBtn" title="Go to top">
<i class="fas fa-arrow-up"></i>
</button>
<footer>
Copyright &copy;
<a href="https://git.archoslinux.cz/kankys" target="_blank"
>Lukáš Kaňka</a
>
2024
</footer>
</section>
<script src="script.js"></script>
</body>
</html>

148
script.js Normal file
View File

@ -0,0 +1,148 @@
//Navbar menu
const menuIcon = document.querySelector(".menu-icon");
const menuList = document.querySelector("nav");
const hamburgerIcon = document.querySelector(".fa-solid");
menuIcon.addEventListener("click", () => {
if (hamburgerIcon.classList[1] === "fa-bars") {
hamburgerIcon.classList.add("fa-xmark");
hamburgerIcon.classList.remove("fa-bars");
menuList.style.display = "block";
} else {
hamburgerIcon.classList.add("fa-bars");
hamburgerIcon.classList.remove("fa-xmark");
menuList.style.display = "none";
}
});
// Dark / Light Mode
const body = document.querySelector("body");
const head = document.querySelector("header");
const links = document.querySelectorAll("a");
const nav = document.querySelector(".navigation");
const h1 = document.querySelector("h1");
const nadpish2 = document.querySelectorAll("h2");
const p = document.querySelector("p");
const solid = document.querySelector(".fa-solid");
const solid1 = document.querySelector(".menu-icon");
const footer = document.querySelector("footer");
const gotop = document.querySelector("#scrollToTopBtn");
const theme = document.querySelector("#toggleButton");
const box = document.querySelectorAll(".code-box");
let isDraculaMode = false;
// Funkce pro nastavení stylů pro Dracula mód
function setDraculaStyles() {
body.style.backgroundColor = "#2a232b";
body.style.color = "#f8f8f2";
head.style.backgroundColor = "#2a232b";
theme.style.color = "#e7efa7";
gotop.style.color = "#e7efa7";
links.forEach((a) => {
a.style.color = "#f76b00";
});
nav.style.backgroundColor = "#2a232b";
h1.style.color = "#e54472";
nadpish2.forEach((h2) => {
h2.style.color = "#18f700";
});
solid.style.backgroundColor = "#2a232b";
solid.style.color = "#f76b00";
solid1.style.backgroundColor = "#2a232b";
footer.style.backgroundColor = "#2a232b";
//gotop.style.backgroundColor = "#18f700";
//theme.style.backgroundColor = "#18f700";
}
// Funkce pro nastavení stylů pro Light mód;
function setLightStyles() {
body.style.backgroundColor = "#e7efa7";
body.style.color = "#282a36";
theme.style.color = "#2a232b";
gotop.style.color = "#2a232b";
head.style.backgroundColor = "#e7efa7";
nav.style.backgroundColor = "#e7efa7";
solid.style.backgroundColor = "#e7efa7";
solid1.style.backgroundColor = "#e7efa7";
footer.style.backgroundColor = "#e7efa7";
nadpish2.forEach((h2) => {
h2.style.color = "#c627d8";
});
//gotop.style.backgroundColor = "#a7e6ef";
//theme.style.backgroundColor = "#a7e6ef";
box.forEach((p) => {
p.style.color = "white";
});
}
// Funkce pro přepnutí módu
function toggleMode() {
if (isDraculaMode) {
// Pokud je momentálně v Dracula modu, přepnout na Light mód
setLightStyles();
isDraculaMode = false;
} else {
// Pokud je momentálně v Light modu, přepnout na Dracula mód
setDraculaStyles();
isDraculaMode = true;
}
}
// Funkce na změnu stylů
document.getElementById("toggleButton").addEventListener("click", toggleMode);
// Nastavení - výchozí styl na Dark
setDraculaStyles();
isDraculaMode = true;
// Photo Gallery -> section (zoom)
const image1 = document.querySelector(".picture");
image1.addEventListener("mouseenter", () => {
image1.style.transform = "scale(2.2)";
});
image1.addEventListener("mouseleave", () => {
image1.style.transform = "scale(1)";
});
const image2 = document.querySelector(".picture1");
image2.addEventListener("mouseenter", () => {
image2.style.transform = "scale(2.2)";
});
image2.addEventListener("mouseleave", () => {
image2.style.transform = "scale(1)";
});
const image3 = document.querySelector(".picture2");
image3.addEventListener("mouseenter", () => {
image3.style.transform = "scale(2.2)";
});
image3.addEventListener("mouseleave", () => {
image3.style.transform = "scale(1)";
});
// Tlačítko go to top
// Zobrazení tlačítka od rolovaní části stránky (víc logické než až na konci)
window.onscroll = function () {
scrollFunction();
};
function scrollFunction() {
if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
document.getElementById("scrollToTopBtn").style.display = "block";
} else {
document.getElementById("scrollToTopBtn").style.display = "none";
}
}
// Posunout nahoru, když uživatel klikne na tlačítko
function scrollToTop() {
document.body.scrollTop = 0; // Pro Safari
document.documentElement.scrollTop = 0; // Pro ostatní prohlížeče
}

204
style.css Normal file
View File

@ -0,0 +1,204 @@
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
max-width: 1000px;
margin: 0 auto;
font-family: "Ubuntu", sans-serif;
}
/*Header */
h1 {
padding-left: 8px;
}
header {
margin-top: 25px;
display: flex;
align-items: center;
height: 70px;
flex-direction: row;
/*position: fixed;*/
}
.title {
padding-top: 25px;
}
.title {
flex-grow: 1;
display: flex;
}
/* navigation */
nav {
margin-right: 30px;
}
nav li {
display: inline-block;
list-style-type: none;
margin-right: 20px;
}
nav li a {
text-decoration: none;
color: black;
}
/* navigation icons */
.menu-icon {
display: none;
margin-right: 30px;
}
/*Dark/Light mode button*/
#toggleButton {
float: right;
margin-right: 30px;
margin-top: 10px;
padding: 5px;
}
#toggleButton {
bottom: 20px;
right: 20px;
border: none;
outline: none;
background-color: transparent;
font-size: 34px;
cursor: pointer;
}
/*Header small display*/
@media (max-width: 600px) {
body {
padding: 10px;
}
header {
position: relative;
}
header nav {
position: absolute;
top: 70px;
width: 100%;
display: none;
}
.menu-icon {
display: block;
font-size: 23px;
}
header nav li {
display: block !important;
text-align: center;
margin-top: 10px;
margin-bottom: 10px;
}
}
/* Sekce */
.content {
text-align: center;
}
.welcome {
padding-top: 115px;
padding-bottom: 50px;
}
#install {
padding-top: 50px;
}
#node {
padding-top: 50px;
padding-bottom: 50px;
}
#apollo {
padding-top: 50px;
padding-bottom: 50px;
}
#coc {
padding-top: 50px;
padding-bottom: 50px;
}
#contact {
padding-top: 50px;
padding-bottom: 50px;
}
#other {
padding-top: 50px;
}
/*Code box*/
.code-box {
background-color: #353535;
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
font-family: monospace;
max-width: auto;
}
/*Picture settings*/
.sat {
width: 175px;
height: 175px;
}
.photo {
text-align: center;
padding-top: 50px;
}
.photo img {
width: 300px;
height: 200px;
margin: 10px;
transition: all 0.5s linear;
}
/*footer pevná pozice*/
footer {
bottom: 0;
margin-bottom: 10px;
margin-left: 25px;
margin-top: 20px;
}
footer a {
text-decoration: none;
}
#scrollToTopBtn {
display: none;
position: fixed;
bottom: 20px;
right: 20px;
/*butoon přes obsah*/
z-index: 99;
outline: none;
cursor: pointer;
padding: 15px;
border-radius: 50%;
background-color: transparent;
}
/* Styl pro ikonu */
#scrollToTopBtn i {
font-size: 34px;
}