Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • rlacko/git-presentation
  • blintmester/git-presentation
2 results
Show changes
# Alapok és SSH kulcs
### Alapok
Hogyan lehet a mi `.git` mappánkat megosztani a nagyvilággal?
Több módja is van ennek, például akár egy .git mappát
is lelehet magunkhoz klónozni.
A `git clone <elérési út>` parancsot használjuk ahhoz, hogy
valahonnan lehúzzunk egy git repo-t.
Ha például csak egy mappára utalunk, aminek a neve
`awesome_project.git`:
```
$ git clone --bare awesome_project awesome_project.git
Cloning into bare repository 'awesome_project.git'...
done.
```
Ezt akár kirakhatjuk egy fájlszerverre és onnan megoszthatnánk.
Következő szint, mikor weben keresztül szedjük le a nekünk
kellő repo-t. Ilyenkor HTTP protokollt használhatunk,
ami hasonló az előzőhöz és olyan, mint mikor egy fájlt
töltünk le egy oldalról.
```
$ git clone https://github.com/rlacko58/git-presentation.git
Cloning into 'git-presentation'...
remote: Enumerating objects: 173, done.
remote: Counting objects: 100% (173/173), done.
remote: Compressing objects: 100% (114/114), done.
remote: Total 173 (delta 65), reused 155 (delta 47), pack-reused 0
Receiving objects: 100% (173/173), 291.34 KiB | 1.22 MiB/s, done.
Resolving deltas: 100% (65/65), done.
```
Ez szimplán fogja és készít nekünk egy olyan repository-t, mint
amit az előzőkben csináltunk kézzel.
Lemásolja a .git mappát, majd pedig onnan kiszedi a megfelelő
dolgokat a mi `work tree`-nkbe.
### SSH
Másik protokoll amit tudunk használni az az SSH.
Ez azért nagyon jó, mert ha ezen keresztül szedünk le,
akkor nem kell minden alkalommal a github, gitlab
felhasználónkba belépnünk egy repo-n való dolgozáskor.
Ahhoz, hogy ilyet tudjunk csinálni viszont SSH kulcsot kell
készítenünk.
Ennek annyi a trükkje, hogy rakunk a saját gépünkre egy
privát kulcsot és a távoli szerverre egy publikus kulcsot,
vagy bárhova ahova szeretnénk.
Ezután mikor az adott szerverre felakarunk menni, valamit
csinálni ott, akkor előtte a szerver leauthentikál minket
és egy kulcs csere után elkezdhetünk vele kommunikálni.
Az authentikáció lépése nagy vonalakban:
- Szerver publikus kulcsal letitkosít valamit és elküldi nekünk
- Ezt amit elküld csak a privát kulccsal lehet kibontani,
ezt mi elvégezzük
- A kibontott adatok közt lesz egy másik kulcs, mellyel
titkosítva elküldjük a szervernek ami kell az authentikációhoz
- A szerver kibontja, látja hogy minden oké és
megtörténik a kulcs csere
Ezután áttérnek egy másik módszerre amihez már mindkét oldalt
megvan a megfelelő kulcs és titkosítva küldik egymásnak
az adatokat
Nagyon király dolog, mivel gyors, hatékony és nem kell
jelszót beírogatni minden művelet közt
#### Saját SSH kulcs
###### Linuxon / MacOS-en
1. Terminált megnyitjuk
2. Generálunk egy SSH kulcsot
`ssh-keygen -t rsa -b 4096`
3. Alapértelmezett helyre mentjük
4. Megadunk egy jelszót ha szeretnénk
_Ha valaki megszerzi a privát kulcsunk nem tudja használni
a jelszó beírása nélkül_
Adjuk hozzá az SSH agent-ünkhöz.
1. Elindítjuk az agent-et ha még nem ment volna
`$ eval "$(ssh-agent -s)"`
`Agent pid 59566`
2. Hozzáadjuk az új kulcsunk
`ssh-add ~/.ssh/id_rsa`
Végezetül a publikus kulcsot feltöltjük például githubra
A publikus kulcs helye: `~/ssh/id_rsa.pub`
###### Windowson
1. Git Bash-t megnyitjuk
2. Generálunk egy kulcsot
`ssh-keygen -t rsa -b 4096`
3. Elmentjük az alapértelmezett helyre
4. Jelszó adunk hozzá ha szeretnénk
Hozzá adjuk az SSH agent-ünkhöz
1. Elindítjuk az agent-et ha még nem ment volna
`$ eval $(ssh-agent -s)`
`> Agent pid 59566`
2. Hozzáadjuk az új kulcsunk
`ssh-add ~/.ssh/id_rsa`
Végezetül a publikus kulcsot feltöltjük például githubra
A publikus kulcs helye: `~/ssh/id_rsa.pub`
Forrás: [docs.github.com](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)
......@@ -112,7 +112,7 @@ $ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -m
##### Jelenlegi konfig
Nézzük meg mik az összes beállításunk:
Nézzük meg az összes beállításunk:
```
$ git config --list
......@@ -131,6 +131,3 @@ Ha pedig csak egy adottat szeretnénk:
$ git config user.name
Rafael László
```
[Előző](intro/3_history?id=git-története) |
[Következő](workshop/2_basics?id=alapok)
......@@ -84,7 +84,7 @@ A branch-ről még később beszélek, de azt jegyezzük meg addig,
hogy ide kerülnek a mentéspontjaink egymás után sorban, mint
egy fa ága.
<div style="text-align:center"><img src="workshop/img/basic-branching.png" alt="Git branch" /></div>
<div style="text-align:center"><img src="guide/workshop/img/basic-branching.png" alt="Git branch" /></div>
```
$ git init .
......@@ -136,7 +136,7 @@ majd a következő mentéskor pár bitet átírok, akkor már
2gb-nyi videó lesz a repóban és ha utána egy másik mentésel
ki is töröljük, az attól még megmarad.
Persze utólag tudunk olyat, hogy visszmegyünk és kitöröljük
az adott mentésből, de ez nem ajánlott használata a Git-nek.
az adott mentésből.
Oké, tehát például mappákba bemásolja a mentéseinket valamilyen
módon, de mégis hova?
......@@ -171,7 +171,7 @@ Hash-t láthatunk például a mentéspontjainkon, fájljainkon, stb.
Például itt egy ábra, hogy hogyan társítja a git egy
commit-hoz a megfelelő fájlokat egy kis pointer mágia keretében.
<div style="text-align:center"><img src="workshop/img/commit-and-tree.png" alt="Commit and Tree" /></div>
<div style="text-align:center"><img src="guide/workshop/img/commit-and-tree.png" alt="Commit and Tree" /></div>
Ennél jobban nem megyek bele a témába, de érdekes olvasmány.
......@@ -204,7 +204,7 @@ repo-ban.
Nézzük meg ezen az ábrán és egy példa projekten keresztül:
<div style="text-align:center"><img src="workshop/img/git_lifecycle.png" alt="Git Life cycle" /></div>
<div style="text-align:center"><img src="guide/workshop/img/git_lifecycle.png" alt="Git Life cycle" /></div>
Mi a jelenlegi helyzet a frissen inicializált repo-ban?
......@@ -485,6 +485,3 @@ Máris csak a lényeget látjuk. Az is látható, hogy csak 7
karaktert kaptunk a hashből.
Elég csak pár karakter, hogy beazonosítsunk
például egy commitot a hash-ével.
[Előző](workshop/1_installation?id=telepítés-és-konfiguráció) |
[Következő](workshop/3_branch)
......@@ -104,7 +104,7 @@ Először is, ahhoz hogy tudja a git melyik mentéspont után
melyik jön, mutatókat használ ehhez az ábrához
hasonló módon:
<div style="text-align:center"><img src="workshop/img/commits-and-parents.png" alt="Commits and parents" /></div>
<div style="text-align:center"><img src="guide/workshop/img/commits-and-parents.png" alt="Commits and parents" /></div>
A mentéspontjaink az előzőre mutatnak.
Ahogy láthattuk az előző fejezetben, a mentéspontok pedig
......@@ -113,7 +113,7 @@ mutatnak a megfelelő fájlokra amiket épp módosítottunk.
Vizsgáljuk meg a jelenlegi repo-nkat, hogy pontosan
mi merre is van.
<div style="text-align:center"><img src="workshop/img/tree_with_one_branch.png" alt="Tree with one branch" /></div>
<div style="text-align:center"><img src="guide/workshop/img/tree_with_one_branch.png" alt="Tree with one branch" /></div>
A mentéspontok képesek mutatni az előzőre, ezt láthatjuk
az ábrán.
......@@ -216,7 +216,7 @@ $ git log --graph --oneline --all
Na így már látjuk a másik ágat is.
Még vizuálisabban jelenleg így állunk:
<div style="text-align:center"><img src="workshop/img/tree_awesome.png" alt="Tree with one branch" /></div>
<div style="text-align:center"><img src="guide/workshop/img/tree_awesome.png" alt="Tree with one branch" /></div>
Menjünk vissza az `atnevezes` ágra és módosítsunk picit.
......@@ -473,6 +473,3 @@ Nem elképesztő? Innentől már csak együtt kell dolgozni, margeknél a konfli
megoldani.
Semmi extra effortot nem fog igényelni egy hasonló elvégzése.
[Előző](workshop/2_basics?id=alapok) |
[Következő](remote/1_basics)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="theme-color" content="#2f3136" />
<meta name="msapplication-navbutton-color" content="#2f3136" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="#2f3136" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no"
/>
<meta
http-equiv="Cache-Control"
content="no-cache, no-store, must-revalidate"
/>
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<title>My Docs</title>
<link rel="icon" type="image/x-icon" href="favicon.ico" />
<link rel="stylesheet" href="https://unpkg.com/docute@4/dist/docute.css" />
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div id="docute"></div>
<script src="https://unpkg.com/docute@4/dist/docute.js"></script>
<script>
new Docute({
target: '#docute',
title: 'Git',
layout: 'wide',
darkThemeToggler: true,
detectSystemDarkTheme: true,
highlight: ['bash'],
nav: [
{
title: 'Főoldal',
link: '/',
},
{
title: 'GitSCH',
link: 'https://git.sch.bme.hu/rlacko/git-presentation',
},
],
sidebar: [
{
title: 'Bevezető', // Hack
children: [
{
title: 'Intro',
link: '/guide/intro/1_intro',
},
{
title: 'Verziókezelés',
link: '/guide/intro/2_versioning',
},
{
title: 'Git története',
link: '/guide/intro/3_history',
},
],
},
{
title: 'Git használata',
children: [
{
title: 'Telepítés és konfiguráció',
link: '/guide/workshop/1_installation',
},
{
title: 'Alapok',
link: '/guide/workshop/2_basics',
},
{
title: 'Branch-ek, elágazás',
link: '/guide/workshop/3_branch',
},
],
},
{
title: 'Távoli Repository',
children: [
{
title: 'Alapok és SSH kulcs',
link: '/guide/remote/1_basics',
},
],
},
],
fetchOptions: { cache: 'no-cache' },
});
</script>
</body>
</html>
{
"name": "python-presentation",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"anymatch": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
"integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
"requires": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
}
},
"binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
},
"braces": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"requires": {
"fill-range": "^7.0.1"
}
},
"chokidar": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
"integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
"requires": {
"anymatch": "~3.1.1",
"braces": "~3.0.2",
"fsevents": "~2.3.1",
"glob-parent": "~5.1.0",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.5.0"
}
},
"dateformat": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
"integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI="
},
"debug-log": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz",
"integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8="
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
},
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"requires": {
"to-regex-range": "^5.0.1"
}
},
"fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"optional": true
},
"furmat": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/furmat/-/furmat-1.0.0.tgz",
"integrity": "sha1-2f5ko+tjvhVut7cbh7hjbagpBMg=",
"requires": {
"chalk": "^1.1.3"
},
"dependencies": {
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
},
"ansi-styles": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
},
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"requires": {
"ansi-styles": "^2.2.1",
"escape-string-regexp": "^1.0.2",
"has-ansi": "^2.0.0",
"strip-ansi": "^3.0.0",
"supports-color": "^2.0.0"
}
},
"strip-ansi": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"requires": {
"ansi-regex": "^2.0.0"
}
},
"supports-color": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
}
}
},
"glob-parent": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
"integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
"requires": {
"is-glob": "^4.0.1"
}
},
"has-ansi": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
"requires": {
"ansi-regex": "^2.0.0"
},
"dependencies": {
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
}
}
},
"is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"requires": {
"binary-extensions": "^2.0.0"
}
},
"is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
},
"is-glob": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
"integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
"requires": {
"is-extglob": "^2.1.1"
}
},
"is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
},
"normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
},
"oh-my-log": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/oh-my-log/-/oh-my-log-5.0.1.tgz",
"integrity": "sha1-AMEFPCIFCjBDJ011TxS0Crr7sPY=",
"requires": {
"chalk": "^1.1.3",
"dateformat": "^2.0.0",
"debug-log": "^1.0.1",
"extend": "^3.0.0",
"furmat": "^1.0.0"
},
"dependencies": {
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
},
"ansi-styles": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
},
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"requires": {
"ansi-styles": "^2.2.1",
"escape-string-regexp": "^1.0.2",
"has-ansi": "^2.0.0",
"strip-ansi": "^3.0.0",
"supports-color": "^2.0.0"
}
},
"strip-ansi": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"requires": {
"ansi-regex": "^2.0.0"
}
},
"supports-color": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
}
}
},
"picomatch": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
"integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg=="
},
"readdirp": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
"integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
"requires": {
"picomatch": "^2.2.1"
}
},
"serve-reload-replace": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/serve-reload-replace/-/serve-reload-replace-1.1.7.tgz",
"integrity": "sha512-2l1y7zkbEWRXgEps9xCRuORdwshvlh9UD76P16qgD3LkgLq2gXfqKHJeQS4PnLXDJZA64uxGD4NMZPeYlFcF9A==",
"requires": {
"chalk": "^4.1.0",
"chokidar": "^3.4.3",
"oh-my-log": "^5.0.1"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
"integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"requires": {
"is-number": "^7.0.0"
}
}
}
}
{
"name": "python-presentation",
"version": "1.0.0",
"description": "2021-es Python dokumentáció KSZK előadáshoz",
"scripts": {
"start": "srr"
},
"author": "",
"license": "GPL",
"dependencies": {
"serve-reload-replace": "^1.1.7"
}
}
.pre-wrapper {
margin-bottom: 20px !important;
margin-top: 20px !important;
}
.markdown-header {
margin-top: 80px !important;
}
ul {
margin-top: 0 !important;
}