Compare commits
18 Commits
ec803cd878
...
fr/transpo
Author | SHA1 | Date | |
---|---|---|---|
bb3281250e | |||
9498530db8 | |||
4ac0dff7a3 | |||
622af40508 | |||
1514a6f3c6 | |||
4d2e1333a5 | |||
89924f848f | |||
dee4ce31dc | |||
f1ff509d0f | |||
032bd95bf1 | |||
9b72bf8131 | |||
b54ecf23a8 | |||
cefae0c90c | |||
c02fda7df1 | |||
0896f2ac88 | |||
9dbc5d8357 | |||
7bc5b1bbb9 | |||
a63225af66 |
39
.gitea/workflows/build_and_deploy.yaml
Normal file
39
.gitea/workflows/build_and_deploy.yaml
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
name: Build and Deploy
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
env:
|
||||||
|
ZOLA_VERSION: "0.19.2"
|
||||||
|
HOST: ${{ secrets.SERVER_IP }}
|
||||||
|
SSH_DEPLOY_USERNAME: ${{ secrets.DEPLOY_USERNAME }}
|
||||||
|
SSH_REPO_KEY: ${{ secrets.SSH_REPO_KEY }}
|
||||||
|
SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }}
|
||||||
|
DEST_FOLDER: "/srv/www/cz/filiprojek/guitar"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build_and_deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: git.0x45.cz/em/mixtape:240904
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
run: git clone https://git.filiprojek.cz/fr/guitar.git /workspace/fr/guitar
|
||||||
|
|
||||||
|
- name: Build Chordpro
|
||||||
|
run: make pdf html songbook
|
||||||
|
|
||||||
|
- name: Build zola
|
||||||
|
run: zola build
|
||||||
|
|
||||||
|
- name: Deploy
|
||||||
|
run: |
|
||||||
|
eval "$(ssh-agent -s)"
|
||||||
|
echo "${SSH_DEPLOY_KEY}" | ssh-add -
|
||||||
|
mkdir -p ~/.ssh/
|
||||||
|
ssh-keyscan -H "${HOST}" >> ~/.ssh/known_hosts
|
||||||
|
rsync -ra --delete-after public/* "${SSH_DEPLOY_USERNAME}@${HOST}:${DEST_FOLDER}"
|
||||||
|
|
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
*.pdf
|
||||||
|
content/*/*.html
|
||||||
|
devel/
|
||||||
|
archive/
|
||||||
|
public/
|
5
biome.json
Normal file
5
biome.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"formatter": {
|
||||||
|
"enabled": false
|
||||||
|
}
|
||||||
|
}
|
59
chordpro.json
Normal file
59
chordpro.json
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
pdf {
|
||||||
|
papersize : a4
|
||||||
|
columnspace : 20
|
||||||
|
margintop : 60
|
||||||
|
marginbottom : 40
|
||||||
|
marginleft : 40
|
||||||
|
marginright : 40
|
||||||
|
headspace : 40
|
||||||
|
footspace : 20
|
||||||
|
|
||||||
|
formats.title {
|
||||||
|
title : [ "" "%{title}" "%{artist}" ]
|
||||||
|
subtitle : [ "" "" "" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
fontdir : [ static/fonts/liberation-fonts-ttf-2.1.5/ ]
|
||||||
|
fontconfig {
|
||||||
|
serif {
|
||||||
|
"" : LiberationSerif-Regular.ttf
|
||||||
|
bold : LiberationSerif-Bold.ttf
|
||||||
|
italic : LiberationSerif-Italic.ttf
|
||||||
|
bolditalic : LiberationSerif-BoldItalic.ttf
|
||||||
|
}
|
||||||
|
sans {
|
||||||
|
"" : LiberationSans-Regular.ttf
|
||||||
|
bold : LiberationSans-Bold.ttf
|
||||||
|
italic : LiberationSans-Italic.ttf
|
||||||
|
bolditalic : LiberationSans-BoldItalic.ttf
|
||||||
|
}
|
||||||
|
monospace {
|
||||||
|
"" : LiberationMono-Regular.ttf
|
||||||
|
bold : LiberationMono-Bold.ttf
|
||||||
|
italic : LiberationMono-Italic.ttf
|
||||||
|
bolditalic : LiberationMono-BoldItalic.ttf
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fonts {
|
||||||
|
title.description : "serif bold 14"
|
||||||
|
subtitle.description : "serif 11"
|
||||||
|
text.description : "serif 12"
|
||||||
|
chord.description : "sans italic 10"
|
||||||
|
comment {
|
||||||
|
description : "sans 12"
|
||||||
|
background : #E5E5E5
|
||||||
|
}
|
||||||
|
comment_italic.description : "sans italic 12"
|
||||||
|
comment_box {
|
||||||
|
description : "sans 12"
|
||||||
|
frame : 1
|
||||||
|
}
|
||||||
|
tab.description : "monospace 10"
|
||||||
|
toc.description : "serif 11"
|
||||||
|
grid.description : "sans 10"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
html.styles.display : /chordpro.css
|
||||||
|
|
17
config.toml
Normal file
17
config.toml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
base_url = "https://guitar.filiprojek.cz"
|
||||||
|
title = "FR Songbook"
|
||||||
|
compile_sass = true
|
||||||
|
build_search_index = false
|
||||||
|
generate_feeds = false
|
||||||
|
|
||||||
|
taxonomies = [
|
||||||
|
{ name = "category" },
|
||||||
|
{ name = "artist" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[markdown]
|
||||||
|
highlight_code = false
|
||||||
|
smart_punctuation = true
|
||||||
|
external_links_target_blank = true
|
||||||
|
external_links_no_follow = true
|
||||||
|
external_links_no_referrer = true
|
46
content/1-signalni/1-signalni.cho
Normal file
46
content/1-signalni/1-signalni.cho
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
{title: 1. signální}
|
||||||
|
{artist: Chinaski}
|
||||||
|
{columns: 2}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Až si [G]zejtra ráno [C]řeknu zase [Em]jednou provždy dost,
|
||||||
|
[G]právem se mi [C]budeš tiše [Em]smát,
|
||||||
|
jak [G]omluvit si [C]svoji slabost, [Em]nenávist a zlost,
|
||||||
|
když [G]za všechno si [C]můžu vlastně [Em]sám?
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[Em]Za spoustu dní, možná za [C]spoustu let,
|
||||||
|
až se mi [G]rozední, budu ti [D]vyprávět
|
||||||
|
na první [Am]signální, jak jsem [C]obletěl svět,
|
||||||
|
jak tě to [G]omámí a [D]nepustí zpět.
|
||||||
|
|
||||||
|
Jaký si to [F]uděláš, [Bb]takový to [Dm]máš.
|
||||||
|
jaký si to [F]uděláš, [Bb]takový to [Dm]máš.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Až se [G]dneska večer [C]budu tvářit [Em]zas jak Karel Gott,
|
||||||
|
[G]budu zpívat [C]vam pam pidam [Em]pam,
|
||||||
|
všechna [G]sláva, polní [C]tráva, ale [Em]peníz přijde vhod,
|
||||||
|
[G]jak jsem si to [C]udělal, tak to [Em]mám.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{column_break}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[Em]Za spoustu dní, možná za [C]spoustu let,
|
||||||
|
až se mi [G]rozední, budu ti [D]vyprávět
|
||||||
|
na první [Am]signální, jak jsem [C]obletěl svět,
|
||||||
|
jak tě to [G]omámí a [D]nepustí zpět.
|
||||||
|
|
||||||
|
Jaký si to [F]uděláš, [Bb]takový to [Dm]máš.
|
||||||
|
jaký si to [F]uděláš, [Bb]takový to [Dm]máš.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Nanana na nana...
|
||||||
|
|
||||||
|
Jaký si to [F]uděláš, [Bb]takový to [Dm]máš.
|
||||||
|
jaký si to [F]uděláš, [Bb]takový to [Dm]máš.
|
||||||
|
{eov}
|
6
content/1-signalni/index.md
Normal file
6
content/1-signalni/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "1. signální"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["classic"]
|
||||||
|
artist = ["Chinaski"]
|
||||||
|
+++
|
5
content/_index.md
Normal file
5
content/_index.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
+++
|
||||||
|
page_template = "song.html"
|
||||||
|
sort_by = "title"
|
||||||
|
+++
|
||||||
|
|
58
content/alenka-v-risi-divu/alenka-v-risi-divu.cho
Normal file
58
content/alenka-v-risi-divu/alenka-v-risi-divu.cho
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
{title: Alenka v říši divů}
|
||||||
|
{artist: Karel Zich}
|
||||||
|
{columns: 2}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[G]Telegram s adresou svět,
|
||||||
|
[C]píšu v něm pět vlídných vět –[D] jedné [G]dívce.[D]
|
||||||
|
[G]Kdopak ví, kam jej zítra pošta doručí
|
||||||
|
[C]a kolik náhod mu poručí,
|
||||||
|
[D]chtěl bych jen vidět zář očí, které [G]budou jej číst.[D]
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[G]A šel bych cestou prašnou, co nikdo nezměří,
|
||||||
|
sám [C]jedenkrát bych s plnou brašnou cinknul u dveří,
|
||||||
|
bude [D]v očích mít úžas jak Alenka v říši di[G]vů.[D]
|
||||||
|
[G]I když dá mi košem, až řádky bude číst,
|
||||||
|
já [C]chtěl bych být tím listonošem, neboť jsem si jist,
|
||||||
|
bude [D]v očích mít úžas jak [C]Alenka v říši [G]divů.[D]
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Já nechal všechna okna dokořán
|
||||||
|
a díval se na svět ze všech stran, jak se koulí.
|
||||||
|
A celý den přemítám o dívce neznámé,
|
||||||
|
proč už se dávno neznáme,
|
||||||
|
snad adresu najde toto poselství mé.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[G]A šel bych cestou prašnou, co nikdo nezměří,
|
||||||
|
sám [C]jedenkrát bych s plnou brašnou cinknul u dveří,
|
||||||
|
bude [D]v očích mít úžas jak Alenka v říši di[G]vů.[D]
|
||||||
|
[G]I když dá mi košem, až řádky bude číst,
|
||||||
|
já [C]chtěl bych být tím listonošem, neboť jsem si jist,
|
||||||
|
bude [D]v očích mít úžas jak [C]Alenka v říši [G]divů.[D]
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{column_break}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Odmítli můj telegram
|
||||||
|
a řekli: „Poslat jej není kam – adresa schází.“
|
||||||
|
A celý den přemítám o dívce neznámé,
|
||||||
|
proč už se dávno neznáme,
|
||||||
|
snad adresu najde poselství.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[G]A šel bych cestou prašnou, co nikdo nezměří,
|
||||||
|
sám [C]jedenkrát bych s plnou brašnou cinknul u dveří,
|
||||||
|
bude [D]v očích mít úžas jak Alenka v říši di[G]vů.[D]
|
||||||
|
[G]I když dá mi košem, až řádky bude číst,
|
||||||
|
já [C]chtěl bych být tím listonošem, neboť jsem si jist,
|
||||||
|
bude [D]v očích mít úžas jak [C]Alenka v říši [G]divů.[D]
|
||||||
|
|
||||||
|
bude [D]v očích mít úžas jak [C]Alenka v říši [G]divů.[D]
|
||||||
|
{eoc}
|
6
content/alenka-v-risi-divu/index.md
Normal file
6
content/alenka-v-risi-divu/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Alenka v říši divů"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["classic"]
|
||||||
|
artist = ["Karel Zich"]
|
||||||
|
+++
|
61
content/az-to-vzdam/az-to-vzdam.cho
Normal file
61
content/az-to-vzdam/az-to-vzdam.cho
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
{title: Až to vzdám}
|
||||||
|
{artist: Tragedis}
|
||||||
|
{columns: 2}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[D]Pondělí ráno a já si doma smývám bahno z [G]fesťáku.
|
||||||
|
[Em]Špína je [G]pryč, ale [Em]s ostudou se [G]člověk musí [D]sžít.
|
||||||
|
[D]Až jednou příde den kdy to všechno nebudu mít [G]na háku,
|
||||||
|
[Em]najdu svůj [G]glanc a [Em]třeba k tomu [G]přestanu i [D]pít.
|
||||||
|
Až to [Bm]vzdám, až to [D]vzdám
|
||||||
|
a [Em]za pravdu dám [G]všem svejm bejval[D]kám.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[D]Má první holka už druhým rokem nosí jiný [G]příjmení.
|
||||||
|
[Em]Vlastně i [G]brácha má [Em]ženu, dítě, [G]auto, psa a [D]byt.
|
||||||
|
[D]Když to tak zvážim, tak v mým životě téměř nic se [G]nemění,
|
||||||
|
[Em]jen nový [G]šrámy a v [Em]duši všechno [G]možný jen né [D]klid.
|
||||||
|
Až to [Bm]vzdám, až to [D]vzdám
|
||||||
|
a [Em]za pravdu dám [G]všem svejm bejval[D]kám.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[Bm]Zatím ale ještě nedám chlastu vale,
|
||||||
|
s Biblí [D]na nočním stole, ani náhodou ty vole.
|
||||||
|
Já chci [Em]žít teď a tady, ženskejm [G]očumovat vnady
|
||||||
|
a pak [D]u pivní flašky, dělat pro ostatní šašky.
|
||||||
|
[Bm]V pátek slavit, v sobotu se chodit bavit.
|
||||||
|
zažít [D]fesťáky i kluby, dokavaď mám svoje zuby.
|
||||||
|
Než mě [Em]abstinence skolí, budu [G]pařit třeba s holí
|
||||||
|
A pak [D]zařvu ještě z jámy, ženský, putiky a flámy.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{column_break}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[D]Jednou to příde a já konečně doufám rozum [G]dostanu.
|
||||||
|
[Em]I mojí [G]mámě, pak [Em]dojdou dobrý [G]rady, když jdu [D]ven.
|
||||||
|
[D]A až to příde, tak zmizím v davu spořádaných [G]občanů.
|
||||||
|
[Em]Najdu se v [G]práci a [Em]přestane mě [G]lákat vůně [D]žen.
|
||||||
|
Až to [Bm]vzdám, až to [D]vzdám
|
||||||
|
a [Em]za pravdu dám [G]všem svejm bejval[D]kám.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[Bm]Zatím ale ještě nedám chlastu vale,
|
||||||
|
s Biblí [D]na nočním stole, ani náhodou ty vole.
|
||||||
|
Já chci [Em]žít teď a tady, ženskejm [G]očumovat vnady
|
||||||
|
a pak [D]u pivní flašky, dělat pro ostatní šašky.
|
||||||
|
[Bm]V pátek slavit, v sobotu se chodit bavit.
|
||||||
|
zažít [D]fesťáky i kluby, dokavaď mám svoje zuby.
|
||||||
|
Než mě [Em]abstinence skolí, budu [G]pařit třeba s holí
|
||||||
|
A pak [D]zařvu ještě z jámy, ženský, putiky a flámy.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
Až to [Bm]vzdám, až to [D]vzdám
|
||||||
|
a [Em]za pravdu dám [G]všem svejm bejval[D]kám.
|
||||||
|
Až to [Bm]vzdám, až to [D]vzdám
|
||||||
|
a [Em]za pravdu dám [G]všem svejm bejval[D]kám.
|
||||||
|
{eoc}
|
6
content/az-to-vzdam/index.md
Normal file
6
content/az-to-vzdam/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Až to vzdám"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["mixtape"]
|
||||||
|
artist = ["Tragedis"]
|
||||||
|
+++
|
70
content/bud-svuj/bud-svuj.cho
Normal file
70
content/bud-svuj/bud-svuj.cho
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
{title: Buď svůj}
|
||||||
|
{artist: Tragedis}
|
||||||
|
{columns: 2}
|
||||||
|
|
||||||
|
{c: Ref. a intro má punk off-beat rytmus}
|
||||||
|
|
||||||
|
[G] [D] [Em] [C] [D] [G]
|
||||||
|
[G] [D] [Em] [C] [D] [Em]
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
Buď [G]svůj a za tim si s[D]tůj.
|
||||||
|
Měj [Em]svoje věci, [C]žádný blbý [D]kecy.
|
||||||
|
Buď [G]svůj a za tim si s[D]tůj.
|
||||||
|
Leť [Em]volným pádem, [C]žádným hloupým [D]řádem.
|
||||||
|
Buď [G]svůj a za tim si s[D]tůj.
|
||||||
|
Jedi[Em]ný je jistý, ať [C]svědomí máš [D]čistý.
|
||||||
|
Buď [G]svůj a za tim si s[D]tůj.
|
||||||
|
Jenom [Em]hlupák skáče jak [C]okolí si [D]píská, buď [G]svůj.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
[G] [D] [Em] [C] [D] [G]
|
||||||
|
[G] [D] [Em] [C] [D] [Em]
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[Em] Já neměl [D]nikdy velký ambice
|
||||||
|
[G] v hudbě ve sportu, [D]škole a politice.
|
||||||
|
[Em] ohnout záda jsem [D]taky příliš nezvládal,
|
||||||
|
[G] proto se mnou [D]osud tolik zamával.
|
||||||
|
[Em] Nemám Mercedes a [D]vlastně ani řidičák,
|
||||||
|
[G] na místo depilace, [D]zarostlej jak vopičák
|
||||||
|
[Em] na drahý šperky, [D]můžu se jen dívat,
|
||||||
|
[G] pak vezmu kytaru a [D]půjdu si zazpívat:
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
Buď [G]svůj a za tim si s[D]tůj.
|
||||||
|
Měj [Em]svoje věci, [C]žádný blbý [D]kecy.
|
||||||
|
Buď [G]svůj a za tim si s[D]tůj.
|
||||||
|
Leť [Em]volným pádem, [C]žádným hloupým [D]řádem.
|
||||||
|
Buď [G]svůj a za tim si s[D]tůj.
|
||||||
|
Jedi[Em]ný je jistý, ať [C]svědomí máš [D]čistý.
|
||||||
|
Buď [G]svůj a za tim si s[D]tůj.
|
||||||
|
Jenom [Em]hlupák skáče jak [C]okolí si [D]píská, buď [G]svůj.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
[G] [D] [Em] [C] [D] [G]
|
||||||
|
[G] [D] [Em] [C] [D] [Em]
|
||||||
|
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[Em] Cuba libre za [D]pivo měnit nebudu,
|
||||||
|
[G] v posilovně zas [D]dělal bych jen vostudu.
|
||||||
|
[Em] Holky v růžovim mě [D]taky příliš neberou,
|
||||||
|
[G] to radši punkerky co [D]totálně se vožerou.
|
||||||
|
[Em] Jak slyším hip-hop rá[D]dio z vokna vyhodim.
|
||||||
|
[G] Na nóbl plesy se [D]taky dvakrát nehodim
|
||||||
|
[Em] a dřív než lidi v [D]sále začnou zívat,
|
||||||
|
[G] tak vezmu kytaru a [D]půjdu jim zazpívat:
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
Buď [G]svůj a za tim si s[D]tůj.
|
||||||
|
Měj [Em]svoje věci, [C]žádný blbý [D]kecy.
|
||||||
|
Buď [G]svůj a za tim si s[D]tůj.
|
||||||
|
Leť [Em]volným pádem, [C]žádným hloupým [D]řádem.
|
||||||
|
Buď [G]svůj a za tim si s[D]tůj.
|
||||||
|
Jedi[Em]ný je jistý, ať [C]svědomí máš [D]čistý.
|
||||||
|
Buď [G]svůj a za tim si s[D]tůj.
|
||||||
|
Jenom [Em]hlupák skáče jak [C]okolí si [D]píská, buď [G]svůj.
|
||||||
|
{eoc}
|
6
content/bud-svuj/index.md
Normal file
6
content/bud-svuj/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Buď svůj"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["mixtape"]
|
||||||
|
artist = ["Tragedis"]
|
||||||
|
+++
|
68
content/byt-stale-mlad/byt-stale-mlad.cho
Normal file
68
content/byt-stale-mlad/byt-stale-mlad.cho
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
{title: Být stále mlád}
|
||||||
|
{artist: Karel Gott}
|
||||||
|
{columns: 2}
|
||||||
|
|
||||||
|
{c: Capo 2, 4, 5?}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[G]Čas dál si [D]běží svůj mara[Em]tón
|
||||||
|
někdy se [C]cítím starší než-li [D]on
|
||||||
|
kolik už [Am]let se jenom věčně [C]ptám
|
||||||
|
a stále vím tak [Em]málo
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[G]A jindy se [D]cítím jako omlá[Em]dlý
|
||||||
|
jako ten [C]kluk před školním zábrad[D]lím
|
||||||
|
co tehdy [Am]snil o prvním líbá[C]ní
|
||||||
|
a o svých prvních [Em]džínách
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[G]Ten kluk toužil [D]výš a měl velký [Em]cíl
|
||||||
|
zpíval i [C]žil plně a ze všech [D]sil
|
||||||
|
snad mi z něj [Am]kousek ještě ve mně [C]zbyl
|
||||||
|
ten hezký čas [Em]se mi [D]vrátí
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[G]Být stále [D]mlád to bych si [Em]přál být stále [C]mlád
|
||||||
|
[D]vzepřít se jednou provždy [Am]kalendáři
|
||||||
|
[C]jen mládí, [D]nikdy stáří
|
||||||
|
[G]být stále [D]mlád zkouším to [Em]dál být stále [C]mlád
|
||||||
|
[D]i přes ty známky času [Am]ve své tváři
|
||||||
|
[C]být [D]stále [G]mlád
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[G]Jak život [D]šel prošel jsem spoustu [Em]cest
|
||||||
|
už umím [C]zodpovědět kdejaký [D]test
|
||||||
|
a vím že život [Am]není jen černá a [C]bílá
|
||||||
|
žije v mnoha [Em]barvách
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{column_break}
|
||||||
|
{sov}
|
||||||
|
[G]Co ale jen [D]já jich ještě nevychut[Em]nal
|
||||||
|
co všechno si [C]slíbil a pak nevyko[D]nal
|
||||||
|
co mám ještě [Am]snů a proto ženu se [C]dál
|
||||||
|
za nesplněnou [Em]tou[D]hou
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[G]Být stále [D]mlád to bych si [Em]přál být stále [C]mlád
|
||||||
|
[D]vzepřít se jednou provždy [Am]kalendáři
|
||||||
|
[C]jen mládí, [D]nikdy stáří
|
||||||
|
[G]být stále [D]mlád zkouším to [Em]dál být stále [C]mlád
|
||||||
|
[D]i přes ty známky času [Am]ve své tváři
|
||||||
|
[C]být [D]stále [G]mlád
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[G]Für immer [D]jung, ein Leben [Em]lang für immer [C]jung
|
||||||
|
[D]Du musst dich an die schöne [Am]Zeit erinnern
|
||||||
|
[C]Denn nichts ist [D]für immer
|
||||||
|
[G]Für immer [D]jung, ein Leben [Em]lang für immer [C]jung
|
||||||
|
[D]Du musst dich an die schöne [Am]Zeit erinnern
|
||||||
|
[C]Denn nichts ist [D]für immer [G]jung
|
||||||
|
{eoc}
|
6
content/byt-stale-mlad/index.md
Normal file
6
content/byt-stale-mlad/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Být stále mlád"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["mixtape"]
|
||||||
|
artist = ["Karel Gott"]
|
||||||
|
+++
|
70
content/carpe-diem/carpe-diem.cho
Normal file
70
content/carpe-diem/carpe-diem.cho
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
{title: Carpe Diem}
|
||||||
|
{artist: Tragedis}
|
||||||
|
{columns: 2}
|
||||||
|
{transpose: -4}
|
||||||
|
{c: Capo 4}
|
||||||
|
|
||||||
|
[E] [B] [F#m] [C#m]
|
||||||
|
[E] [B] [A] [B] [E]
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[E]Žijem, jak [B]žijem, a proto taky [F#m]pijem, co [C#m]pijem.
|
||||||
|
Od [E]budoucnosti vůbec nic [B]nečekej,
|
||||||
|
teď je [A]teď, a [B]proto carpe [E]diem.
|
||||||
|
[E]Žijem, jak [B]žijem,
|
||||||
|
v malejch [F#m]bytech, ještě menší [C#m]příjem.
|
||||||
|
[E]Slepujeme střípky vlast[B]ních životů
|
||||||
|
den co [A]den, než [B]dojde na re[E]quiem.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[C#m] Celej můj [B]život to je [E]jeden velkej pád,
|
||||||
|
[A] za dobrej [B]skutek facku [E]vrací.
|
||||||
|
[C#m]Aniž bych [B]chtěl, musím se [E] se životem [A]prát,
|
||||||
|
[C#m] než pěstí, [B] radši desti[E]lací. [B]
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[E]Žijem, jak [B]žijem, a proto taky [F#m]pijem, co [C#m]pijem.
|
||||||
|
Od [E]budoucnosti vůbec nic [B]nečekej,
|
||||||
|
teď je [A]teď, a [B]proto carpe [E]diem.
|
||||||
|
[E]Žijem, jak [B]žijem,
|
||||||
|
v malejch [F#m]bytech, ještě menší [C#m]příjem.
|
||||||
|
[E]Slepujeme střípky vlast[B]ních životů
|
||||||
|
den co [A]den, než [B]dojde na re[E]quiem.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{column_break}
|
||||||
|
{sob}
|
||||||
|
[C#m] [B] [E]
|
||||||
|
[A] [B] [E]
|
||||||
|
[C#m] [B] [E] [A]
|
||||||
|
[C#m] [B] [E]
|
||||||
|
{eob}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[C#m]Artemis [B]vyrazila [E]na poslední leč,
|
||||||
|
[A]náledím [B]kráčí na pod[E]patcích.
|
||||||
|
[C#m] Sisyfos [B]tlačí dál svůj [E]košík s lahvá[A]či
|
||||||
|
[C#m] a to co zbyde, [B]vrátí na po[E]platcích. [B]
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[E]Žijem, jak [B]žijem, a proto taky [F#m]pijem, co [C#m]pijem.
|
||||||
|
Od [E]budoucnosti vůbec nic [B]nečekej,
|
||||||
|
teď je [A]teď, a [B]proto carpe [E]diem.
|
||||||
|
[E]Žijem, jak [B]žijem,
|
||||||
|
v malejch [F#m]bytech, ještě menší [C#m]příjem.
|
||||||
|
[E]Slepujeme střípky vlast[B]ních životů
|
||||||
|
den co [A]den, než [B]dojde na re[E]quiem.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[E]Žijem, jak [B]žijem, a proto taky [F#m]pijem, co [C#m]pijem.
|
||||||
|
Od [E]budoucnosti vůbec nic [B]nečekej,
|
||||||
|
teď je [A]teď, a [B]proto carpe [E]diem.
|
||||||
|
[E]Žijem, jak [B]žijem,
|
||||||
|
v malejch [F#m]bytech, ještě menší [C#m]příjem.
|
||||||
|
[E]Slepujeme střípky vlast[B]ních životů
|
||||||
|
den co [A]den, než [B]dojde na re[E]quiem.
|
||||||
|
{eoc}
|
6
content/carpe-diem/index.md
Normal file
6
content/carpe-diem/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Carpe Diem"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["mixtape"]
|
||||||
|
artist = ["Tragedis"]
|
||||||
|
+++
|
@@ -0,0 +1,67 @@
|
|||||||
|
{title: Cesta Do Hlubin Punkáčovi Duše}
|
||||||
|
{artist: Vision Days}
|
||||||
|
{columns: 2}
|
||||||
|
{transpose: -5}
|
||||||
|
|
||||||
|
{c: Bridge a sloka jsou off-beat}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[Am]Na hlavě máme [F]barevný číra
|
||||||
|
[C]A naše heslo je [G]punk neumírá
|
||||||
|
[Am]Nebudem nikdy [F]součást tý řady
|
||||||
|
[C]Na to že jsme punkáči, [G]jsme hrdý
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sob}
|
||||||
|
[Am] [F] [C] [G]
|
||||||
|
[Am] [F] [C] [G]
|
||||||
|
{eob}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[Am]Po ulici jdeš lidi [C]na tebe čumí
|
||||||
|
[G]Vyvalujou oči jako [F]péra z gumy
|
||||||
|
[Am]Mávni nad tím rukou a [C]vystrč prostředníček
|
||||||
|
[G]Na cestu jim zamávej če[F]pi[*stop]čkou
|
||||||
|
jako večerní[Am]ček [*(4 beats)]
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[Am]Na hlavě máme [F]barevný číra
|
||||||
|
[C]A naše heslo je [G]punk neumírá
|
||||||
|
[Am]Nebudem nikdy [F]součást tý řady
|
||||||
|
[C]Na to že jsme punkáči, [G]jsme hrdý
|
||||||
|
[Am] [F] [C] [G]Na to jsme hrdý
|
||||||
|
[Am] [F] [C]Na to že jsme punkáči, [G]jsme hrdý
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{column_break}
|
||||||
|
{sob}
|
||||||
|
[Am] [F] [C] [G]
|
||||||
|
{eob}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[Am]Nejsme manekýni, pat[F]ku si nečešem
|
||||||
|
[C]A nenosíme trička s [G]Leoškem Marešem
|
||||||
|
Poli[Am]tiku neřešíme u pi[C]va se neperem
|
||||||
|
A [G]na koncertech dáme pogo [F][*stop]
|
||||||
|
A potom se ože[Am]rem [*(4 beats)]
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[Am]Na hlavě máme [F]barevný číra
|
||||||
|
[C]A naše heslo je [G]punk neumírá
|
||||||
|
[Am]Nebudem nikdy [F]součást tý řady
|
||||||
|
[C]Na to že jsme punkáči, [G]jsme hrdý
|
||||||
|
[Am] [F] [C] [G]Na to jsme hrdý
|
||||||
|
[Am] [F] [C]Na to že jsme punkáči, [G]jsme hrdý
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[Am]Na hlavě máme [F]barevný číra
|
||||||
|
[C]A naše heslo je [G]punk neumírá
|
||||||
|
[Am]Nebudem nikdy [F]součást tý řady
|
||||||
|
[C]Na to že jsme punkáči, [G]jsme hrdý
|
||||||
|
[Am] [F] [C] [G]Na to jsme hrdý
|
||||||
|
[Am] [F] [C]Na to že jsme punkáči, [G]jsme hrdý
|
||||||
|
[Am] [F]
|
||||||
|
{eoc}
|
6
content/cesta-do-hlubin-punkacovi-duse/index.md
Normal file
6
content/cesta-do-hlubin-punkacovi-duse/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Cesta Do Hlubin Punkáčovi Duše"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["mixtape"]
|
||||||
|
artist = ["Vision Days"]
|
||||||
|
+++
|
45
content/chaluj/chaluj.cho
Normal file
45
content/chaluj/chaluj.cho
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
{title: Cháluj}
|
||||||
|
{artist: Morčata na útěku}
|
||||||
|
{capo: 5}
|
||||||
|
|
||||||
|
{c: Capo 5}
|
||||||
|
|
||||||
|
{sot: Intro}
|
||||||
|
e|------------------1------------|---------------------------------|
|
||||||
|
F|------4~----1-3-4--4-3-4-1~----|--------3~------1-3-4-3-1---1~---|
|
||||||
|
D|0------------------------------|--------------3-----------3------|
|
||||||
|
D|-------------------------------|--3~-----------------------------|
|
||||||
|
A|-------------------------------|---------------------------------|
|
||||||
|
E|-------------------------------|---------------------------------|
|
||||||
|
{eot}
|
||||||
|
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[Am]Mám hlad, tak cpu se [G]masem kloka[F]ním. [G]Mám hlad, [Em]tak baštím kýtu před spa[Am]ním.
|
||||||
|
[Am]Rád tak rád bych blil, abych [D]moh žrát ještě dýl, a tak [F]jím, jak kdybych nežral před půl [E]hodinou.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
Příteli [Am]cháluj rychle jez, ať je to [D]prase nebo pes.
|
||||||
|
Nos mi [F]pečené [G]uzené co [Am]nejdřív.
|
||||||
|
Až přijdeš [Am]ke mně na salám, kus masa [D]svého já ti dám.
|
||||||
|
K tomu [F]svíčkovou, s [G]omáčkou a té [C]nejvíc.
|
||||||
|
Z talíře [F]mého můžeš krást, pak masa [C]svého dej mi část.
|
||||||
|
Společně [F]můžem tento[Dm]krát se pře[Am]žrát.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[Am]Můj hlad, to jsou jen [G]štrůdly mako[F]vé. [G]Můj hlad, [Em]to jsou španělští ptáčko[Am]vé.
|
||||||
|
[Am]Rád si dám pár piv a [D]pak se světe div. Budu [F]jíst, dokud nepraskne hajzl [E]pode mnou.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
Příteli [Am]cháluj o stošest, holubí [D]stehna jako pěst.
|
||||||
|
Nos mi [F]pečené [G]uzené co [Am]nejdřív.
|
||||||
|
Až přijdeš [Am]ke mně na salám, kus masa [D]svého já ti dám.
|
||||||
|
K tomu [F]svíčkovou, s [G]omáčkou a té [C]nejvíc.
|
||||||
|
Z talíře [F]mého můžeš krást, pak masa [C]svého dej mi část.
|
||||||
|
Společně [F]můžem tento[Dm]krát se pře[Am]žrát.
|
||||||
|
Společně [F]můžem všechno spást. Žrádlo je [C]lepší nežli chlast.
|
||||||
|
Společně [F]můžem tento[Dm]krát se pře[Am]žrát.
|
||||||
|
{eoc}
|
6
content/chaluj/index.md
Normal file
6
content/chaluj/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Cháluj"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["mixtape"]
|
||||||
|
artist = ["Morčata na útěku"]
|
||||||
|
+++
|
65
content/hadanka/hadanka.cho
Normal file
65
content/hadanka/hadanka.cho
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
{title: Hádanka}
|
||||||
|
{artist: Tragedis}
|
||||||
|
{columns: 2}
|
||||||
|
|
||||||
|
{start_of_intro}
|
||||||
|
[Em] [C] [G] [D]
|
||||||
|
[Em] [C] [G] [D]
|
||||||
|
[C] [Em] [G] [D] [C]
|
||||||
|
{end_of_intro}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Kolik na [Em]nebi je p[C]táků a [G]na polštáři [D]snů
|
||||||
|
a [Em]na kolejích v[C]laků a v [G]Bibli zázra[D]ků?
|
||||||
|
Kolik [C]na pobřeží [Em]skal a na těch [G]skalách majá[D]ků
|
||||||
|
a kolik [Em]u majáků v[C]raků a [G]padlých vojá[D]ků?
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[Em]Kdo to [C]ví, [G]kdo to [D]ví,
|
||||||
|
[Em]Kdo to [C]ví, [G]kdo to [D]ví,
|
||||||
|
[C]kdo to [Em]ví, [G]kdo to [D]ví?
|
||||||
|
Ať odpo[C]ví.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Jak [Em]veliký je [C]vesmír a [G]kolik je v něm [D]hvězd,
|
||||||
|
kolik [Em]na světě je [C]měst a mezi [G]těmi městy [D]cest?
|
||||||
|
Proč je [C]život příliš [Em]krátký na to [G]vidět každý z [D]nich,
|
||||||
|
v nich se [Em]milovat a [C]žít a přečíst [G]tisíc moudrých [D]knih?
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[Em]Kdo to [C]ví, [G]kdo to [D]ví,
|
||||||
|
[Em]Kdo to [C]ví, [G]kdo to [D]ví,
|
||||||
|
[C]kdo to [Em]ví, [G]kdo to [D]ví?
|
||||||
|
Ať odpo[C]ví.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{column_break}
|
||||||
|
{start_of_solo}
|
||||||
|
[Em] [C] [G] [D]
|
||||||
|
[Em] [C] [G] [D]
|
||||||
|
[C] [Em] [G] [D] [C]
|
||||||
|
{end_of_solo}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Zda je [Em]dané, co se [C]stane, pro mě [G]nebo pro Vás [D]pane?
|
||||||
|
Jedi[Em]ný, co bych si [C]přál, ať moje [G]touha nevy[D]vane.
|
||||||
|
A až [C]jednou budu [Em]moudrý, budu [G]odpovědi [D]znát,
|
||||||
|
ovšem [Em]prozatím jsem [C]laik, a tak se [G]táži ako[D]rát.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[Em]Kdo to [C]ví, [G]kdo to [D]ví,
|
||||||
|
[Em]Kdo to [C]ví, [G]kdo to [D]ví,
|
||||||
|
[C]kdo to [Em]ví, [G]kdo to [D]ví?
|
||||||
|
Ať odpo[C]ví.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{start_of_outro}
|
||||||
|
[Em] [C] [G] [D]
|
||||||
|
[Em] [C] [G] [D]
|
||||||
|
[C] [Em] [G] [D] [C]
|
||||||
|
[D] [Em]
|
||||||
|
{end_of_outro}
|
6
content/hadanka/index.md
Normal file
6
content/hadanka/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Hádanka"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["mixtape"]
|
||||||
|
artist = ["Tragedis"]
|
||||||
|
+++
|
69
content/hudsonsky-sify/hudsonsky-sify.cho
Normal file
69
content/hudsonsky-sify/hudsonsky-sify.cho
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
{title: Hudsonský šífy}
|
||||||
|
{artist: Wabi Daněk}
|
||||||
|
{columns: 2}
|
||||||
|
{capo: 2}
|
||||||
|
|
||||||
|
{c: Capo 2}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Ten, kdo [Am]nezná hukot vody lopat[C]kama vířený
|
||||||
|
jako [G]já, jó jako [Am]já,
|
||||||
|
kdo Hud[Am]sonský slapy nezná sírou [G]pekla sířený,
|
||||||
|
ať se [Am]na Hudsonský [G]šífy najmout [Am]dá, [G]jo-ho-[Am]ho.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Ten, kdo [Am]nepřekládal uhlí, šíf když [C]na mělčinu vjel,
|
||||||
|
málo[G] zná, málo [Am]zná,
|
||||||
|
ten, kdo [Am]neměl tělo ztuhlý, až se [G]nočním chladem chvěl,
|
||||||
|
ať se [Am]na Hudsonský [G]šífy najmout [Am]dá, [G]jo-ho-[Am]ho.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[F]Ahoj, páru tam [Am]hoď,
|
||||||
|
ať [G]do pekla se dříve dohra[Am]bem,
|
||||||
|
[G]jo-ho-[Am]ho, [G]jo-ho-[Am]ho.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Ten, kdo [Am]nezná noční zpěvy zaros[C]tenejch lodníků
|
||||||
|
jako [G]já, jó jako [Am]já,
|
||||||
|
ten, kdo [Am]cejtí se bejt chlapem, umí [G]dělat rotyku,
|
||||||
|
ať se [Am]na Hudsonský [G]šífy najmout [Am]dá, [G]jo-ho-[Am]ho.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Ten, kdo [Am]má na bradě mlíko, kdo se [C]rumem neopil,
|
||||||
|
málo [G]zná, jó málo [Am]zná,
|
||||||
|
kdo ne[Am]cejtil hrůzu z vody, kde se [G]málem utopil,
|
||||||
|
ať se [Am]na Hudsonský [G]šífy najmout [Am]dá, [G]jo-ho-[Am]ho.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{column_break}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[F]Ahoj, páru tam [Am]hoď,
|
||||||
|
ať [G]do pekla se dříve dohra[Am]bem,
|
||||||
|
[G]jo-ho-[Am]ho, [G]jo-ho-[Am]ho.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Kdo má [Am]roztrhaný boty, kdo má [C]pořád jenom hlad
|
||||||
|
jako [G]já, jó jako [Am]já,
|
||||||
|
kdo chce [Am]celý noci čuchat pekel[G]nýho vohně smrad,
|
||||||
|
ať se [Am]na Hudsonský[G] šífy najmout [Am]dá, [G]jo-ho-[Am]ho.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Kdo chce [Am]zhebnout třeba zejtra, komu [C]je to všechno fuk,
|
||||||
|
kdo je [G]sám, jó jako [Am]já,
|
||||||
|
kdo má [Am]srdce v správným místě, kdo je [G]prostě príma kluk,
|
||||||
|
ať se [Am]na Hudsonský [G]šífy najmout [Am]dá, [G]jo-ho-[Am]ho.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[F]Ahoj, páru tam [Am]hoď,
|
||||||
|
ať [G]do pekla se dříve dohra[Am]bem,
|
||||||
|
[G]jo-ho-[Am]ho, [G]jo-ho-[Am]ho,
|
||||||
|
[G]jo-ho-[Am]ho.
|
||||||
|
{eoc}
|
6
content/hudsonsky-sify/index.md
Normal file
6
content/hudsonsky-sify/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Hudsonský šífy"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["classic"]
|
||||||
|
artist = ["Wabi Daněk"]
|
||||||
|
+++
|
6
content/kdyz-punkaci-starnou/index.md
Normal file
6
content/kdyz-punkaci-starnou/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Když punkáči stárnou"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["mixtape"]
|
||||||
|
artist = ["Tragedis"]
|
||||||
|
+++
|
66
content/kdyz-punkaci-starnou/kdyz-punkaci-starnou.cho
Normal file
66
content/kdyz-punkaci-starnou/kdyz-punkaci-starnou.cho
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
{title: Když punkáči stárnou}
|
||||||
|
{artist: Tragedis}
|
||||||
|
{columns: 2}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[D]Ráno jsem [A]u popelnic potkal mýho [Bm]kámoše,
|
||||||
|
jak starou [G]bundu [A]vyhazuje [D]do koše.
|
||||||
|
Vzpomínky [A]vzal a prostě hodil [Bm]do smetí,
|
||||||
|
zdá se, že [G]nášivky už [A]letos asi [D]neletí.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Jak slyším [A]Éčka, Znouzi a starý [Bm]Totáče,
|
||||||
|
je mi z tý [G]nostalgie [A]občas trochu [D]do pláče.
|
||||||
|
Pulitry [A]piva a rozlazená [Bm]kytara,
|
||||||
|
proč řešit [G]zítřek mi [A]tenkrát hlava [D]nebrala.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
A dnes to [A]táhnem od vejplaty k [Bm]vejplatě,
|
||||||
|
přes tejden v [G]práci, [A]o víkendu [D]na chatě,
|
||||||
|
k tomu si [A]každej najdem nějakej ten [Bm]koníček
|
||||||
|
a z brutus [G]punkera je [A]ochočenej [D]králíček.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[G]Jak roky [A]letí lidi [D]stárnou,
|
||||||
|
[Bm]říkal mi [A]notorik před bum[D]bárnou.
|
||||||
|
[G]A z jeho [A]dechu stále [D]více,
|
||||||
|
[Bm]cítil jsem [A]jasně odér slivo[D]vice.
|
||||||
|
|
||||||
|
[G]Za teplý [A]žrádlo a trochu [D]kávy,
|
||||||
|
[Bm]svůj život [A]ve fabrice lidi [D]tráví.
|
||||||
|
[G]A už to [A]bude dobrejch, [D]dobrejch deset [G]let,
|
||||||
|
kdy jsi o půlnoci, před nonstopem, na hovado zlitej křičel, do tmy plný spících domů
|
||||||
|
[A] [A] Punk´s not [D]dead.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{column_break}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Za bídný [A]prachy děláš idiota v [Bm]Mekáči
|
||||||
|
a co je [G]na tom, [A]vždyť jsme pořád [D]punkáči.
|
||||||
|
Z vlasů co [A]zbyly se však těžko číro [Bm]postaví,
|
||||||
|
aspoň že [G]peněženky [A]máme pořád [D]děravý.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Kam se mi [A]všichni moji kamarádi [Bm]poděli,
|
||||||
|
na pivo [G]nejdou v [A]pátek, ani v [D]neděli.
|
||||||
|
Na akcích v [A]klubech cizí krasavice [Bm]potkávám
|
||||||
|
a na fes[G]ťákách slevy [A]pro důchodce [D]dostávám.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[G]Jak roky [A]letí lidi [D]stárnou,
|
||||||
|
[Bm]říkal mi [A]notorik před bum[D]bárnou.
|
||||||
|
[G]A z jeho [A]dechu stále [D]více,
|
||||||
|
[Bm]cítil jsem [A]jasně odér slivo[D]vice.
|
||||||
|
|
||||||
|
[G]Za teplý [A]žrádlo a trochu [D]kávy,
|
||||||
|
[Bm]svůj život [A]ve fabrice lidi [D]tráví.
|
||||||
|
[G]A už to [A]bude dobrejch, [D]dobrejch deset [G]let,
|
||||||
|
kdy jsi o půlnoci, před nonstopem, na hovado zlitej křičel, do tmy plný spících domů
|
||||||
|
[A] [A] Punk´s not [D]dead.
|
||||||
|
{eoc}
|
6
content/kocky/index.md
Normal file
6
content/kocky/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Kočky"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["mixtape"]
|
||||||
|
artist = ["Tragedis"]
|
||||||
|
+++
|
52
content/kocky/kocky.cho
Normal file
52
content/kocky/kocky.cho
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
{title: Kočky}
|
||||||
|
{artist: Tragedis}
|
||||||
|
{transpose: -4}
|
||||||
|
{columns: 2}
|
||||||
|
|
||||||
|
{c: Capo 4 (Transpozice o -4 z B)}
|
||||||
|
|
||||||
|
[B] [D#m] [F#] [C#]
|
||||||
|
[B] [D#m] [F#] [C#]
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
V [B]minulým životě jsem byl [D#m]kocour,
|
||||||
|
páč [B]co jsem přežil, chtělo aspoň [C#]devět životů.
|
||||||
|
[B]Otravy, kopance a [D#m]rány,
|
||||||
|
i s [B]vytrhanou srstí budu [C#]mňoukat u plotu.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[B]Kočky, polezte [D#m]ven!
|
||||||
|
Dneska [F#]protancujem noc, zejtra [C#]prochrápeme den.
|
||||||
|
Když [B]vyčerpáním téměř mrtvej [D#m]jsem,
|
||||||
|
tak [B]doma si dám mlíčko a [C#]táhnu zase dál,
|
||||||
|
tak čert mě [F#]vem. [*8 dob]
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
[B] [D#m] [F#] [C#]
|
||||||
|
[B] [D#m] [F#] [C#]
|
||||||
|
|
||||||
|
{column_break}
|
||||||
|
{sov}
|
||||||
|
[B]Serenády u popelnic [D#m]znám,
|
||||||
|
i [B]pocit, když tě pitbull žene [C#]noční ulicí.
|
||||||
|
[B]Vezmeme-li v potaz, že jsem [D#m]kocour,
|
||||||
|
tak [B]proč se místo koček domu [C#]vracím s vopicí?
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[B]Kočky, polezte [D#m]ven!
|
||||||
|
Dneska [F#]protancujem noc, zejtra [C#]prochrápeme den.
|
||||||
|
Když [B]vyčerpáním téměř mrtvej [D#m]jsem,
|
||||||
|
tak [B]doma si dám mlíčko a [C#]táhnu zase dál,
|
||||||
|
tak ... [B]Kočky, polezte [D#m]ven!
|
||||||
|
Dneska [F#]protancujem noc, zejtra [C#]prochrápeme den.
|
||||||
|
Když [B]vyčerpáním téměř mrtvej [D#m]jsem,
|
||||||
|
Až [B]padnem z neřesti a úna[D#m]vou,
|
||||||
|
ať [B]maso vezmou krysy
|
||||||
|
a [C#]chlupy po Vltavě odpla[F#]vou. [*8 dob]
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
[B] [D#m] [F#] [C#]
|
||||||
|
[B] [D#m]
|
||||||
|
[B] [C#] [F#]
|
6
content/lokomotiva/index.md
Normal file
6
content/lokomotiva/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Lokomotiva"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["mixtape"]
|
||||||
|
artist = ["Poletíme?"]
|
||||||
|
+++
|
66
content/lokomotiva/lokomotiva.cho
Normal file
66
content/lokomotiva/lokomotiva.cho
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
{title: Lokomotiva}
|
||||||
|
{artist: Poletíme?}
|
||||||
|
{columns: 2}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[G]Pokaždé když tě vidím, [D]vím, že by to šlo
|
||||||
|
a když [Em]jsem přemejšlel, co cítím, [C]tak mě napadlo
|
||||||
|
jestli [G]nechceš svýho osla vedle [D]mýho osla hnát,
|
||||||
|
jestli [Em]nechceš se mnou tahat ze ze[C]mě rezavej drát.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[G]Jsi loko[D]motiva, která [Em]se řítí [C]tmou,
|
||||||
|
[G]jsi indi[D]áni, kteří [Em]prérií je[C]dou,
|
||||||
|
[G]jsi kulka [D]vystřelená [Em]do mojí hla[C]vy,
|
||||||
|
[G]jsi prezident [D]a já tvé [Em]spojené stá[C]ty.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[G]Přines jsem ti kytku, no co [D]koukáš, to se má
|
||||||
|
je to [Em]koruna žvejkačkou ke špej[C]li přilepená,
|
||||||
|
a dva ke[G]límky vod jogurtu, co je [D]mezi nima niť,
|
||||||
|
může[Em]me si takhle volat, [C]když budeme chtít.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[G]Jsi loko[D]motiva, která [Em]se řítí [C]tmou,
|
||||||
|
[G]jsi indi[D]áni, kteří [Em]prérií je[C]dou,
|
||||||
|
[G]jsi kulka [D]vystřelená [Em]do mojí hla[C]vy,
|
||||||
|
[G]jsi prezident [D]a já tvé [Em]spojené stá[C]ty.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[G]Každej příběh má svůj konec, ale [D]né ten náš,
|
||||||
|
nám to [Em]bude navždy dojit, všude [C]kam se podíváš,
|
||||||
|
naše [G]kachny budou zlato nosit a [D]krmit se popcornem,
|
||||||
|
já to [Em]každej večer spláchnu půl[C]nočním expresem
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{column_break}
|
||||||
|
{soc}
|
||||||
|
[G]Jsi loko[D]motiva, která [Em]se řítí [C]tmou,
|
||||||
|
[G]jsi indi[D]áni, kteří [Em]prérií je[C]dou,
|
||||||
|
[G]jsi kulka [D]vystřelená [Em]do mojí hla[C]vy,
|
||||||
|
[G]jsi prezident [D]a já tvé [Em]spojené stá[C]ty.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[G]Dětem dáme jména Jessie, [D]Jeddej, Jad a John,
|
||||||
|
ve sto[Em]padesáti letech ho budu mít [C]stále jako slon,
|
||||||
|
a ty nez[G]tratíš svoji krásu, stále [D]štíhlá kolem pasu,
|
||||||
|
stále [Em]dokážeš mě chytit lasem [C]a přitáhnout na terasu
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{c: Refrén 3x, druhý bez rytmu}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[G]Jsi loko[D]motiva, která [Em]se řítí [C]tmou,
|
||||||
|
[G]jsi indi[D]áni, kteří [Em]prérií je[C]dou,
|
||||||
|
[G]jsi kulka [D]vystřelená [Em]do mojí hla[C]vy,
|
||||||
|
[G]jsi prezident [D]a já tvé [Em]spojené stá[C]ty.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
Já a [G]ty...
|
||||||
|
{eoc}
|
6
content/mravenec/index.md
Normal file
6
content/mravenec/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Mravenec"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["mixtape"]
|
||||||
|
artist = ["E!E"]
|
||||||
|
+++
|
51
content/mravenec/mravenec.cho
Normal file
51
content/mravenec/mravenec.cho
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
{title: Mravenec}
|
||||||
|
{artist: E!E}
|
||||||
|
{columns: 2}
|
||||||
|
|
||||||
|
[G] [C] [G] [C] [G] [C] [D]
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[G]Chodím prázdnou uli[C]cí.
|
||||||
|
v [G]ruce párek s hořči[C]cí.
|
||||||
|
[G]Chodím sem a chodím [C]tam.
|
||||||
|
[G]vůbec nic už nevní[D]mám.
|
||||||
|
Mrave[G]nec
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[G]Já jsem Ferda mrave[C]nec,
|
||||||
|
natáhnutej na skři[G]pec.
|
||||||
|
Já jsem Ferda mrave[C]nec,
|
||||||
|
natáhnutej na skři[G]pec.
|
||||||
|
Já jsem Ferda mrave[C]nec,
|
||||||
|
natáhnutej na skři[G]pec.
|
||||||
|
Já jsem Ferda mrave[C]nec,
|
||||||
|
mrave[D]nec!
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
[G] [C] [G] [C] [G] [C] [D]
|
||||||
|
|
||||||
|
{column_break}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[G]Chodím prázdnou uli[C]cí.
|
||||||
|
[G]Prázdnota pod bukvi[C]cí.
|
||||||
|
[G]Chodím tam a chodím [C]sem.
|
||||||
|
[G]Chodim pod mikrosko[D]pem.
|
||||||
|
Mrave[G]nec
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[G]Já jsem Ferda mrave[C]nec,
|
||||||
|
natáhnutej na skři[G]pec.
|
||||||
|
Já jsem Ferda mrave[C]nec,
|
||||||
|
natáhnutej na skři[G]pec.
|
||||||
|
Já jsem Ferda mrave[C]nec,
|
||||||
|
natáhnutej na skři[G]pec.
|
||||||
|
Já jsem Ferda mrave[C]nec,
|
||||||
|
mrave[D]nec!
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
Obratlo[G]vec!
|
||||||
|
{eoc}
|
6
content/nalej-ruma/index.md
Normal file
6
content/nalej-ruma/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Nalej ruma"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["mixtape"]
|
||||||
|
artist = ["Standa"]
|
||||||
|
+++
|
38
content/nalej-ruma/nalej-ruma.cho
Normal file
38
content/nalej-ruma/nalej-ruma.cho
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
{title: Nalej ruma}
|
||||||
|
{artist: Standa}
|
||||||
|
{transpose: -5}
|
||||||
|
|
||||||
|
{c: Standa má capo 5, protože má transpozici -5 na G}
|
||||||
|
{c: Originál je v Db, capo 1 live, bez capa pro studio verzi}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Dnes [C]už jsem vypil [Am]piva dost
|
||||||
|
Už [C]nevím co je [Am]střízlivost
|
||||||
|
[F]A tak pěkně [G]prosím, nalej [C]ruma [G]
|
||||||
|
|
||||||
|
A [C]i když nemám [F]pení[G]ze
|
||||||
|
já [Am]stále ještě [F]věřím že
|
||||||
|
tu [G]bude někdo, [E7]kdo mi koupí [Am]ruma
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
Nalej [F]ruma. Nalej [Am]ruma.
|
||||||
|
Nalej [F]ruma. Nalej [C]ruuuu[G]uuuuu[C]ma. [Am] [C] [Am]
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
To jsem [C]jednou v Písku v [Am]baru stál.
|
||||||
|
Ten [C]Gambrinus, co jsem [Am]pil, mě sral.
|
||||||
|
[F]Tak na baru se [G]ptám, "nemáte [C]ruma?" [G]
|
||||||
|
|
||||||
|
Bar[C]man si jenom [F]odka[G]šlal
|
||||||
|
na [Am]Fruko Schulz se [F]podíval
|
||||||
|
a já v [G]cukuletu [E7]pil jsem zas jak [Am]puma.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
Nalej [F]ruma. Nalej [Am]ruma.
|
||||||
|
Nalej [F]ruma. Nalej [C]ruuuu[G]uuuuu[C]ma. [Am]
|
||||||
|
Nalej [F]ruma. Nalej [Am]ruma.
|
||||||
|
Nalej [F]ruma. Nalej [C]ruuuu[G]uuuuu[C]ma.
|
||||||
|
{eoc}
|
6
content/nonstop/index.md
Normal file
6
content/nonstop/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Non stop"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["mixtape"]
|
||||||
|
artist = ["Alkehol"]
|
||||||
|
+++
|
81
content/nonstop/nonstop.cho
Normal file
81
content/nonstop/nonstop.cho
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
{title: Non stop}
|
||||||
|
{artist: Alkehol}
|
||||||
|
{columns: 2}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[D]Non stop, já chci pít [A]non stop
|
||||||
|
a s tím, kdo [G]příde, [A]mám chuť se [D]rvát
|
||||||
|
|
||||||
|
[D][Dsus4][D][Dsus4][D]
|
||||||
|
|
||||||
|
[D]Non stop, já chci pít [A]non stop
|
||||||
|
a s tím, kdo [G]příde, [A]mám chuť se [D]rvát
|
||||||
|
|
||||||
|
[D][Dsus4][D][Dsus4][D]
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[D]Tá[Dsus4]tovi [D]pa[Dsus4]náka dám [D]lok,
|
||||||
|
[D]pi[Dsus4]jeme [D]spo[Dsus4]lu víc než [D]rok,
|
||||||
|
[A]v hospodě, kam [G]oba chodí[D]me.
|
||||||
|
|
||||||
|
[D][Dsus4][D][Dsus4][D]
|
||||||
|
|
||||||
|
[D]Brá[Dsus4]cha, ten [D]na [Dsus4]rumu u[D]jel,
|
||||||
|
[D]já [Dsus4]jsem ho [D]fer[Dsus4]netem před[D]jel,
|
||||||
|
[A]nicméně, závi[G]slí všichni [D]jsme.
|
||||||
|
|
||||||
|
[D][Dsus4][D][Dsus4][D]
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{sob}
|
||||||
|
[Bm]Nemůžou znát mý nápady.
|
||||||
|
[G]Vypitej mozek [A]mám.
|
||||||
|
[Bm]Jen tobě můžu vážně říct,
|
||||||
|
[G]celej den prochlas[A]tám.
|
||||||
|
{eob}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
Já chci pít [D]non stop, já chci pít [A]non stop
|
||||||
|
a s tím, kdo [G]příde, [A]mám chuť se [D]rvát
|
||||||
|
|
||||||
|
[D][Dsus4][D][Dsus4][D]
|
||||||
|
|
||||||
|
[D]Non stop, já chci pít [A]non stop
|
||||||
|
a s tím, kdo [G]příde, [A]mám chuť se [D]rvát
|
||||||
|
|
||||||
|
[D][Dsus4][D][Dsus4][D]
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[D]Ži[Dsus4]vot je [D]sen[Dsus4]za chlastá[D]ní,
|
||||||
|
[D]je[Dsus4]nomže, [D]dá [Dsus4]to koumá[D]ní
|
||||||
|
[A]vymyslet, jak [G]by se propít [D]dal.
|
||||||
|
|
||||||
|
[D][Dsus4][D][Dsus4][D]
|
||||||
|
|
||||||
|
[D]Nej[Dsus4]sem už [D]dí[Dsus4]tě limo[D]nád,
|
||||||
|
[D]ko[Dsus4]řalku [D]dám [Dsus4]si velmi [D]rád,
|
||||||
|
[A]jaká je snad [G]ani ty ne[D]víš.
|
||||||
|
|
||||||
|
[D][Dsus4][D][Dsus4][D]
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{sob}
|
||||||
|
[Bm]Nejsem už dítě mejdanů,
|
||||||
|
[G]teď jsem ten správnej [A]typ,
|
||||||
|
[Bm]láká mě vůně výčepů
|
||||||
|
[G]a chci jen non-stop [A]pít.
|
||||||
|
{eob}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
Já chci pít [D]non stop, já chci pít [A]non stop
|
||||||
|
a s tím, kdo [G]příde, [A]mám chuť se [D]rvát
|
||||||
|
|
||||||
|
[D][Dsus4][D][Dsus4][D]
|
||||||
|
|
||||||
|
[D]Non stop, já chci pít [A]non stop
|
||||||
|
a s tím, kdo [G]příde, [A]mám chuť se [D]rvát
|
||||||
|
|
||||||
|
[D][Dsus4][D][Dsus4][D]
|
||||||
|
{eoc}
|
6
content/plzenska/index.md
Normal file
6
content/plzenska/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Hideen Track - Plzeňská"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["mixtape"]
|
||||||
|
artist = ["Morčata na útěku"]
|
||||||
|
+++
|
27
content/plzenska/plzenska.cho
Normal file
27
content/plzenska/plzenska.cho
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{title: Hideen Track - Plzeňská}
|
||||||
|
{artist: Morčata na útěku}
|
||||||
|
{album: Jsme trochu jiný}
|
||||||
|
|
||||||
|
[C]Petře [G]Petříč[Am]ku [F]chlapče [C]rozmi[G]lý,
|
||||||
|
[C]my bychom se [C7]k sobě tolik,
|
||||||
|
[F]my bychom se k [Fm]sobě tolik [C]ho[G]di[C]li.
|
||||||
|
|
||||||
|
[C]Větře [G]vetříč[Am]ku [F]vaneš [C]po po[G]li,
|
||||||
|
[C]pofoukej mi [C7]mou hlavičku,
|
||||||
|
[F]pofoukej mi [Fm]mou hlavičku [C] ať [G]nebo[C]lí.
|
||||||
|
|
||||||
|
[C]Voda [G]voděn[Am]ka [F]mezi [C]obláz[G]ky,
|
||||||
|
[C]takové je [C7]pohlazení,
|
||||||
|
[F]takové je [Fm]pohlazení [C]od [G]lás[C]ky.
|
||||||
|
|
||||||
|
[C]Já jsem [G]tvá mi[Am]lá, [F]ty jsi [C]můj mi[G]lý,
|
||||||
|
[C]co bychom se [C7]o samotě,
|
||||||
|
[F]co bychom se [Fm]osamotě [C]trá[G]pi[C]li.
|
||||||
|
|
||||||
|
[C]Plzně [G]Plznič[Am]ky, [F]holky [C]rozmi[G]lý,
|
||||||
|
[C]včera večer [C7]jsme vas všechny,
|
||||||
|
[F]včera večer [Fm]jsme vas všechny [C]vy[G]pi[C]li.
|
||||||
|
|
||||||
|
[C]Rume [G]rumíč[Am]ku, [F]chlapče z [C]Božko[G]va,
|
||||||
|
[C]včera jsem se [C7]z tebe doblil,
|
||||||
|
[F]včera jsem se [Fm]z tebe doblil [C]do [G]slo[C]va.
|
6
content/severni-vietnam/index.md
Normal file
6
content/severni-vietnam/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Severní Vietnam"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["mixtape"]
|
||||||
|
artist = ["Morčata na útěku"]
|
||||||
|
+++
|
63
content/severni-vietnam/severni-vietnam.cho
Normal file
63
content/severni-vietnam/severni-vietnam.cho
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
{title: Severní Vietnam}
|
||||||
|
{artist: Morčata na útěku}
|
||||||
|
{album: Hlavně se s tím nesrat}
|
||||||
|
|
||||||
|
{columns: 2}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Jdu s [C]děravou plící a [Am]kulka vařící
|
||||||
|
mi v [F]hrudníku pěkně [C]bublá
|
||||||
|
něk[C]do se mi směje v tom v [Am]zádech ho hřeje
|
||||||
|
má [F]lesklá a [G]ostrá ku[C]dla
|
||||||
|
|
||||||
|
Pak [C]dlouho jen mlčí a v [Am]křečích se krčí
|
||||||
|
já [F]šlapu mu po páte[C]ři
|
||||||
|
až [C]řeknu to dětem jak [Am]bloudil jsem světem
|
||||||
|
to [F]nikdo mi [G]neuvě[C]ří
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[C]Severní [C7]Vietnam je [F]krutý
|
||||||
|
[C]počítej vojáku s [G7]tím
|
||||||
|
k [C]nohám ti [C7]dám mrtvý [F]žlutý
|
||||||
|
nebo se [C]vůbec [G7]nevrá[C]tím
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
Ke mě [C]Vietnamka běží však [Am]dobíhá stěží
|
||||||
|
svou [F]devítku natahu[C]ji
|
||||||
|
[C]rázem se složí a v [Am]krvavé louži
|
||||||
|
ji [F]bodákem [G]dotahu[C]ji
|
||||||
|
|
||||||
|
[C]Není to krása kus [Am]žlutýho masa
|
||||||
|
se [F]za mnou jen ladně vle[C]če
|
||||||
|
[C]z toho hrdiny i [Am]z jeho rodiny
|
||||||
|
říd[F]ká krev a [G]mozek te[C]če
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{column_break}
|
||||||
|
{soc}
|
||||||
|
[C]Severní [C7]Vietnam je [F]krutý
|
||||||
|
[C]počítej vojáku s [G7]tím
|
||||||
|
k [C]nohám ti [C7]dám mrtvý [F]žlutý
|
||||||
|
nebo se [C]vůbec [G7]nevrá[C]tím
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[C]Vracím se domů a [Am]síla atomu
|
||||||
|
tu [F]válku hned vyřeši[C]la
|
||||||
|
[C]shrábli jsme zlato a [Am]jednotka NATO
|
||||||
|
[F]Vietnamce [G]vypleni[C]la
|
||||||
|
|
||||||
|
[C]Vyhráli bílí a [Am]žlutý co zbyli maj
|
||||||
|
[F]navěky zjizvenou [C]tvář
|
||||||
|
maj [C]plechovej džbánek a s [Am]textilem stánek
|
||||||
|
a [F]nad ním nu[G]kleární [C]zář
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[C]Severní [C7]Vietnam je [F]krutý
|
||||||
|
[C]počítej vojáku s [G7]tím
|
||||||
|
k [C]nohám ti [C7]dám mrtvý [F]žlutý
|
||||||
|
nebo se [C]vůbec [G7]nevrá[C]tím
|
||||||
|
{eoc}
|
6
content/spalovac-chlastu/index.md
Normal file
6
content/spalovac-chlastu/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Spalovač chlastu"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["mixtape"]
|
||||||
|
artist = ["Alkehol"]
|
||||||
|
+++
|
51
content/spalovac-chlastu/spalovac-chlastu.cho
Normal file
51
content/spalovac-chlastu/spalovac-chlastu.cho
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
{title: Spalovač chlastu}
|
||||||
|
{artist: Alkehol}
|
||||||
|
{columns: 2}
|
||||||
|
{transpose: 5}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[D]V noci jsem chlastal nejméně za tři
|
||||||
|
[G]nemůžu přestat [B]smysly se [A]jitří
|
||||||
|
[D]řítí se domy a padaj skály
|
||||||
|
[G]já nevím proč mi to[B] tak rychle [A]pálí
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{sob}
|
||||||
|
[G]Kámoši čuměj jak do sebe to peru
|
||||||
|
[G][A]vždycky si myslej [G][A]že se neproberu
|
||||||
|
[G]ale já vstanu zahraje kapela
|
||||||
|
[G][A]tak podle plánu [G][A]hrabu se z popela
|
||||||
|
{eob}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[D]Perte mi rumy a pivo rovnou do [G]žil
|
||||||
|
Jó ten kdo umí [A]ten to všechno přežil
|
||||||
|
[D]perte to do mě jak zubní pastu
|
||||||
|
[G]to nejsem já to je [A]spalovač chlastu
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{c:Mezihra 2x}
|
||||||
|
[D][G][B][A]
|
||||||
|
|
||||||
|
{column_break}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[D]Poliši daj mi dejchnout do přístroje
|
||||||
|
[G]a koukaj sami [B]hodně divný [A]to je
|
||||||
|
[D]lil jsem tři dny v kuse a je to nemilé
|
||||||
|
[G]zlitej jako prase a [B]já mám nula [A]promile
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{sob}
|
||||||
|
[G]Kámoši čuměj jak do sebe to peru
|
||||||
|
[G][A]vždycky si myslej [G][A]že se neproberu
|
||||||
|
[G]ale já vstanu zahraje kapela
|
||||||
|
[G][A]tak podle plánu [G][A]hrabu se z popela
|
||||||
|
{eob}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[D]Perte mi rumy a pivo rovnou do [G]žil
|
||||||
|
Jó ten kdo umí [A]ten to všechno přežil
|
||||||
|
[D]perte to do mě jak zubní pastu
|
||||||
|
[G]to nejsem já to je [A]spalovač chlastu
|
||||||
|
{eoc}
|
6
content/zamilovany-nestastna/index.md
Normal file
6
content/zamilovany-nestastna/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Zamilovaný / Nešťastná"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["mixtape"]
|
||||||
|
artist = ["Rybičky 48"]
|
||||||
|
+++
|
41
content/zamilovany-nestastna/zamilovany-nestastna.cho
Normal file
41
content/zamilovany-nestastna/zamilovany-nestastna.cho
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
{title: Zamilovaný / Nešťastná}
|
||||||
|
{artist: Rybičky 48}
|
||||||
|
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[G] Když ráno [D]vstanu, tak [Em]políbim svojí [C]milovanou [G]ženu. [D] [Em] [C]
|
||||||
|
[G] Snídani [D]do postele [Em]dám jí, a [C]růži z lásky k [G]tomu. [D] [Em] [C]
|
||||||
|
[G] Ještě [D]umeju [Em]nádobí z večeře [C]a vydrhnu [G]vanu. [D] [Em] [C]
|
||||||
|
[G] Svačinu [D]udělám si [Em]do práce a [C]odcházim z [G]domu. [D] [C]
|
||||||
|
Mám skvělou [G]ženu. [D] [Em] [C] [G] [D] [C]
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[G] První, co [D]ráno [Em]udělá je, že mi [C]oslintá [G]hubu. [D] [Em] [C]
|
||||||
|
[G] Nesnáším [D]jídlo do [Em]postele, tu [C]každodenní [G]nudu. [D] [Em] [C]
|
||||||
|
[G] Při sexu [D]vykřikuje: [Em]„Promiň, [C]lásko já už [C]budu!” [D] [Em] [C]
|
||||||
|
[G] Ze zvyku [D]zamávám mu z [Em]postele, když [C]říká „Já už [G]pudu” [D] [C]
|
||||||
|
Nesnáším svého [G]muže! [D] [Em] [C] [G] [D] [C]
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
Já jsem [G]zamilovaný, já jsem nešťastná. Já jsem [C]zamilovaný, já jsem nešťastná.
|
||||||
|
Já jsem tak [Em]zamilovaný do ní, je překrásná. Já jsem tak [D]nešťastná, já jsem tak nešťastná.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[G] V práci [D]počítám [Em]minuty, kdy půjdu [C]domů za svou [G]ženou. [D] Ať se sem [Em]nevra[C]cí.
|
||||||
|
[G] Těším se [D]na to, až si [Em]napustíme [C]plnou vanu s [G]pěnou. [D] Kterou fakt [Em]nesná[C]ším.
|
||||||
|
[G] Do ouška [D]pošeptám jí, [Em]že je mojí [C]jedi[G]nou. [D] Nech si to [Em]pro [C]jinou.
|
||||||
|
[G] Vzpomínám [D]na den, kdy si [Em]řekla ano [C]a byla [G]mou. [D] To bylo [C]chybou osud[G]nou.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
Já jsem [G]zamilovaný, já jsem nešťastná. Já jsem [C]zamilovaný, já jsem nešťastná.
|
||||||
|
Já jsem tak [Em]zamilovaný do ní, je překrásná. Já jsem tak [D]nešťastná, já jsem tak nešťastná.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
Já jsem [G]zamilovaný, já jsem nešťastná. Já jsem [C]zamilovaný, já jsem nešťastná.
|
||||||
|
Já jsem tak [Em]zamilovaný do ní, je překrásná. Já jsem tak [D]nešťastná, já jsem tak nešťastná.
|
||||||
|
{eoc}
|
6
content/zimni-kralovna/index.md
Normal file
6
content/zimni-kralovna/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
+++
|
||||||
|
title = "Zimní královna"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["mixtape"]
|
||||||
|
artist = ["Arakain"]
|
||||||
|
+++
|
62
content/zimni-kralovna/zimni-kralovna.cho
Normal file
62
content/zimni-kralovna/zimni-kralovna.cho
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
{title: Zimní královna}
|
||||||
|
{artist: Arakain}
|
||||||
|
{transpose: 4}
|
||||||
|
|
||||||
|
{columns: 2}
|
||||||
|
|
||||||
|
{c: Capo 4/5 nebo bez a zpívat vejš???}
|
||||||
|
{c: Originál od Eb}
|
||||||
|
|
||||||
|
[Eb][Bbsus4][Cm][Ab]
|
||||||
|
[Eb][Bbsus4][Bb][Ab]
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[Eb] V pohád[Bb]kách najdeš
|
||||||
|
[Cm]moudrou pravdu, spousty [Ab]příběhů,
|
||||||
|
[Eb]stejně i [Bb]svůj v nich můžeš [Ab]číst.
|
||||||
|
[Eb]Okouz[Bb]lí cizí [Cm]žena lásku tvou,
|
||||||
|
toho s [Ab]kým jste si souzeni
|
||||||
|
[Eb]tak jak to [Bb]nést kde návod [Ab]vzít.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[Eb]Jenom si [Bb]vzpomeň,
|
||||||
|
jednou p[Ab]řijela tak Zimní [Cm]královna, [Bb]
|
||||||
|
[Eb]malýho [Bb]kluka odvezla [Ab]na saních.
|
||||||
|
[Eb]Gerda pl[Bb]áče,
|
||||||
|
volá [Ab]Káji, Káj má srdce [Cm]studený, [Bb]
|
||||||
|
[Eb]malá [Bb]Gerda musí ho [Ab]zachránit.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
{sov}
|
||||||
|
[Eb]Otři si s[Bb]lzy,
|
||||||
|
dobře [Ab]víš, že pláč ten nic [Cm]už nesprav[Bb]í.
|
||||||
|
[Eb]Musíš teď [Bb]jít, ne takhle s[Ab]tát.
|
||||||
|
[Eb]Nezou[Bb]fej, dej si radit [Cm]pohádkou,
|
||||||
|
tu už [Ab]víc nikdo nezmění.
|
||||||
|
[Eb]Osud ti [Bb]dá, co musí [Ab]dát.
|
||||||
|
{eov}
|
||||||
|
|
||||||
|
{column_break}
|
||||||
|
{soc}
|
||||||
|
[Eb]Jenom si [Bb]vzpomeň,
|
||||||
|
jednou p[Ab]řijela tak Zimní [Cm]královna, [Bb]
|
||||||
|
[Eb]malýho [Bb]kluka odvezla [Ab]na saních.
|
||||||
|
[Eb]Gerda pl[Bb]áče,
|
||||||
|
volá [Ab]Káji, Káj má srdce [Cm]studený, [Bb]
|
||||||
|
[Eb]malá [Bb]Gerda musí ho [Ab]zachránit.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
[Eb][Bb][Cm][Ab]
|
||||||
|
[Eb][Bb][Ab]
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[Eb]Bude to [Bb]boj,
|
||||||
|
srdce [Ab]z ledu, její cit
|
||||||
|
dobře [Cm]víš, kdo v něm zví[Bb]tězí. [Eb]
|
||||||
|
Vzpomene [Bb]Káj a jeho srdce [Ab]roztaje.
|
||||||
|
|
||||||
|
[Eb]A stejně t[Bb]y ... jdi teď [Ab]za ní,
|
||||||
|
je v tvých silách tu [Cm]druhou pora[Bb]zit. [Eb]
|
||||||
|
Tak jako Ge[Bb]rda, když šla za [Ab]Kájem. [Eb][*Outro]
|
||||||
|
{eoc}
|
5
content/zvonik/index.md
Normal file
5
content/zvonik/index.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
+++
|
||||||
|
title = "Zvoník"
|
||||||
|
[taxonomies]
|
||||||
|
category = ["classic"]
|
||||||
|
+++
|
33
content/zvonik/zvonik.cho
Normal file
33
content/zvonik/zvonik.cho
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{title: Zvoník}
|
||||||
|
{subtitle: Naše divná verze}
|
||||||
|
|
||||||
|
[Em]Nahoře na věži, nahoře houpal se [C]zvon a za ním [D]stál právě [Em]on.
|
||||||
|
[Em]Byl zvoníkem z povo[C]lání a měl [D]jedno veliký [Em]přání.
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[Em]Olovo na lidi, olovo na lidi [C]bral Quasi[D]modo z Notre-[Em]Dame.
|
||||||
|
[Em]Trámy a kameny, trámy a kameny [C]jen, z okna [D]ven, dolů [Em]dál.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
[Em]Každé ráno lano do ruky [C]bral a zvony [D]jím rozhou[Em]pal.
|
||||||
|
[Em]Zvony, ty krásný [C]zvony, ze všeho [D]nejvíc milo[Em]val.
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[Em]Olovo na lidi, olovo na lidi [C]bral Quasi[D]modo z Notre-[Em]Dame.
|
||||||
|
[Em]Trámy a kameny, trámy a kameny [C]jen, z okna [D]ven, dolů [Em]dál.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
[Em]Chytli ho, bili ho, trpili, mučili [C]za to, že chtěl [D]žít a milo[Em]vat.
|
||||||
|
[Em]Nemohl dál své oči [C]upírat na zlobu [D]lidí, které měl tak [Em]rád.
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[Em]Olovo na lidi, olovo na lidi [C]bral Quasi[D]modo z Notre-[Em]Dame.
|
||||||
|
[Em]Trámy a kameny, trámy a kameny [C]jen, z okna [D]ven, dolů [Em]dál.
|
||||||
|
{eoc}
|
||||||
|
|
||||||
|
[Em]Esmeraldo, ty krásná [C]jediná, mělas ho [D]ráda a dalas mu [Em]pít.
|
||||||
|
|
||||||
|
{soc}
|
||||||
|
[Em]Olovo na lidi, olovo na lidi [C]bral Quasi[D]modo z Notre-[Em]Dame.
|
||||||
|
[Em]Trámy a kameny, trámy a kameny [C]jen, z okna [D]ven, dolů [Em]dál.
|
||||||
|
{eoc}
|
41
makefile
Normal file
41
makefile
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
ifdef CHORDPRO_PIPELINE
|
||||||
|
CHORDPRO_CMD = chordpro
|
||||||
|
else
|
||||||
|
CHORDPRO_CMD = docker run -ti --rm --env HOME=$(HOME) --env USER=$(USER) --workdir $(shell pwd) --volume $(HOME):$(HOME) chordpro/chordpro:latest chordpro --config=chordpro.json
|
||||||
|
endif
|
||||||
|
|
||||||
|
SRC_DIR := $(wildcard content/*)
|
||||||
|
SRC_EXTENSION := .cho
|
||||||
|
|
||||||
|
SONG_CHO := $(foreach dir,$(SRC_DIR),$(wildcard $(dir)/*$(SRC_EXTENSION)))
|
||||||
|
SONG_PDF := $(patsubst %$(SRC_EXTENSION),%.pdf,$(SONG_CHO))
|
||||||
|
SONG_HTML := $(patsubst %$(SRC_EXTENSION),%.html,$(SONG_CHO))
|
||||||
|
SONGBOOK := content/songbook.pdf
|
||||||
|
|
||||||
|
.DEFAULT_GOAL := pdf
|
||||||
|
|
||||||
|
%.pdf: %$(SRC_EXTENSION)
|
||||||
|
$(CHORDPRO_CMD) -o $@ $<
|
||||||
|
|
||||||
|
%.html: %$(SRC_EXTENSION)
|
||||||
|
$(CHORDPRO_CMD) -o $@ $<
|
||||||
|
|
||||||
|
all: pdf html songbook
|
||||||
|
|
||||||
|
$(SONGBOOK): $(SONG_PDF)
|
||||||
|
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=$@ $^
|
||||||
|
|
||||||
|
.PHONY: html
|
||||||
|
html: $(SONG_HTML)
|
||||||
|
|
||||||
|
.PHONY: pdf
|
||||||
|
pdf: $(SONG_PDF)
|
||||||
|
|
||||||
|
.PHONY: songbook
|
||||||
|
songbook: pdf
|
||||||
|
$(MAKE) $(SONGBOOK)
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
||||||
|
rm -f $(SONG_PDF) $(SONG_HTML) $(SONGBOOK)
|
||||||
|
|
76
manage
Executable file
76
manage
Executable file
@@ -0,0 +1,76 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
SONGS_PATH="content/"
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $0 <command> [options]
|
||||||
|
|
||||||
|
Commands:
|
||||||
|
help Show this help message and exit
|
||||||
|
new [name] Create a new song [with the specified name]
|
||||||
|
edit <name> Edit song with a text editor
|
||||||
|
iedit <name> Interactive edit with PDF preview
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
$0 help
|
||||||
|
$0 new [song-name]
|
||||||
|
$0 edit <song-name>
|
||||||
|
$0 iedit <song-name>
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
create_new_song() {
|
||||||
|
if [ -z "$name" ]; then
|
||||||
|
read -p "Song name (file-name-in-path): " name
|
||||||
|
fi
|
||||||
|
read -p "Song title: " title
|
||||||
|
read -p "Artist: " artist
|
||||||
|
read -p "Category: " category
|
||||||
|
|
||||||
|
mkdir -p "$SONGS_PATH/$name"
|
||||||
|
echo -e "{title: $title}\n{artist: $artist}" > "$SONGS_PATH/$name/$name.cho"
|
||||||
|
echo -e "+++\ntitle = \"$title\"\n[taxonomies]\ncategory = [\"$category\"]\nartist = [\"$artist\"]\n+++" > "$SONGS_PATH/$name/index.md"
|
||||||
|
echo "Song $name created."
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$#" -lt 1 ]; then
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
new)
|
||||||
|
if [ "$#" -eq 2 ]; then
|
||||||
|
name="$2"
|
||||||
|
fi
|
||||||
|
create_new_song
|
||||||
|
;;
|
||||||
|
edit)
|
||||||
|
if [ "$#" -eq 2 ]; then
|
||||||
|
xdg-open "content/$2/$2.cho"
|
||||||
|
else
|
||||||
|
echo -e "Missing song name\n"
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
iedit)
|
||||||
|
if [ "$#" -eq 2 ]; then
|
||||||
|
touch "content/$2/$2.pdf"
|
||||||
|
xdg-open "content/$2/$2.pdf" &
|
||||||
|
xdg-open "content/$2/$2.cho"
|
||||||
|
else
|
||||||
|
echo -e "Missing song name\n"
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
help)
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo -e "Invalid argument: $1\n"
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
1
sass/_fonts.scss
Normal file
1
sass/_fonts.scss
Normal file
@@ -0,0 +1 @@
|
|||||||
|
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,400;0,600;1,400;1,600&display=swap');
|
81
sass/chordpro.scss
Normal file
81
sass/chordpro.scss
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
@import "fonts";
|
||||||
|
|
||||||
|
$col-white: #fff;
|
||||||
|
$col-black: #2e3440;
|
||||||
|
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
background-color: $col-black;
|
||||||
|
color: $col-white;
|
||||||
|
font-family: "Noto Sans", Tahoma, Geneva, Verdana, sans-serif;
|
||||||
|
text-rendering: geometricPrecision;
|
||||||
|
transform-origin: 0 0;
|
||||||
|
transition: transform ease-out .25s;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.song {
|
||||||
|
padding: 3em 0 1em 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 1.5em;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chords {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chorus, .verse, .tab {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chorus {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
left: -1em;
|
||||||
|
display: block;
|
||||||
|
height: 100%;
|
||||||
|
width: 2px;
|
||||||
|
background-color: $col-white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab {
|
||||||
|
white-space: pre;
|
||||||
|
font-family: monospace;
|
||||||
|
font-size: 1.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment {
|
||||||
|
display: inline-block;
|
||||||
|
padding: .25em .5em;
|
||||||
|
background-color: #4c566a;
|
||||||
|
color: $col-white;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: light) {
|
||||||
|
body {
|
||||||
|
background-color: $col-white;
|
||||||
|
color: $col-black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chorus:before {
|
||||||
|
background-color: $col-black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment {
|
||||||
|
background-color: #d8dee9;
|
||||||
|
color: $col-black;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
238
sass/style.scss
Normal file
238
sass/style.scss
Normal file
@@ -0,0 +1,238 @@
|
|||||||
|
@import "fonts";
|
||||||
|
|
||||||
|
$width-mobile: 900px;
|
||||||
|
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background-color: #2e3440;
|
||||||
|
color: #fff;
|
||||||
|
font-family: "Noto Sans", Tahoma, Geneva, Verdana, sans-serif;
|
||||||
|
text-rendering: geometricPrecision;
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: light) {
|
||||||
|
background-color: #fff;
|
||||||
|
color: #2e3440;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
main.songs {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 1em;
|
||||||
|
max-width: 50em;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 1em;
|
||||||
|
|
||||||
|
@media only screen and (max-width: $width-mobile) {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
}
|
||||||
|
|
||||||
|
.filters {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr 1fr 1fr;
|
||||||
|
gap: 1em;
|
||||||
|
margin: 1em 0;
|
||||||
|
|
||||||
|
// This is removed via JS to prevent displaying the inputs
|
||||||
|
// on browsers wih JavaScript disabled.
|
||||||
|
&.hidden { display: none }
|
||||||
|
|
||||||
|
&>* {
|
||||||
|
border-radius: .5em;
|
||||||
|
box-shadow: rgba(15, 17, 21, 0.5) 0px 3px 6px 0px;
|
||||||
|
background-color: #3b4252;
|
||||||
|
color: inherit;
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: light) {
|
||||||
|
background-color: #fff;
|
||||||
|
color: #2e3440;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
form {
|
||||||
|
grid-column: 1 / 3;
|
||||||
|
display: flex;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
input {
|
||||||
|
font-size: inherit;
|
||||||
|
border: 0;
|
||||||
|
background-color: inherit;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="search"] {
|
||||||
|
flex-grow: 1;
|
||||||
|
padding: .75em 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="reset"] {
|
||||||
|
cursor: pointer;
|
||||||
|
width: 3em;
|
||||||
|
padding: 0;
|
||||||
|
background-size: auto 1.5em;
|
||||||
|
background-position: center;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(160,163,170,1)'%3E%3Cpath d='M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20ZM12 10.5858L14.8284 7.75736L16.2426 9.17157L13.4142 12L16.2426 14.8284L14.8284 16.2426L12 13.4142L9.17157 16.2426L7.75736 14.8284L10.5858 12L7.75736 9.17157L9.17157 7.75736L12 10.5858Z'%3E%3C/path%3E%3C/svg%3E");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&>.button {
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: center;
|
||||||
|
cursor: pointer;
|
||||||
|
user-select: none;
|
||||||
|
padding: .75em 1em;
|
||||||
|
|
||||||
|
&.selected {
|
||||||
|
color: #fff;
|
||||||
|
|
||||||
|
&[data-category="mixtape"] { background-color: #bf616a }
|
||||||
|
&[data-category="classic"] { background-color: #5e81ac }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: $width-mobile) {
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.song-list {
|
||||||
|
display: grid;
|
||||||
|
gap: 1em;
|
||||||
|
|
||||||
|
&>div {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
gap: 1em;
|
||||||
|
padding: .5em;
|
||||||
|
padding-left: 1em;
|
||||||
|
border-radius: .5em;
|
||||||
|
box-shadow: rgba(15, 17, 21, 0.5) 0px 3px 6px 0px;
|
||||||
|
border-left: .7em solid #000;
|
||||||
|
background-color: #3b4252;
|
||||||
|
|
||||||
|
&.hidden { display: none }
|
||||||
|
|
||||||
|
&.mixtape { border-color: #bf616a }
|
||||||
|
&.classic { border-color: #5e81ac }
|
||||||
|
|
||||||
|
.meta {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
.title { font-weight: bold }
|
||||||
|
.artist { font-size: .8em }
|
||||||
|
}
|
||||||
|
|
||||||
|
.links {
|
||||||
|
display: flex;
|
||||||
|
gap: .5em;
|
||||||
|
|
||||||
|
&>* {
|
||||||
|
height: 2.75em;
|
||||||
|
width: 2.75em;
|
||||||
|
background-position: center;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: auto 1.5em;
|
||||||
|
border-radius: .25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.html {
|
||||||
|
background-color: #5e81ac;
|
||||||
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(255,255,255,1)'%3E%3Cpath d='M16 2L21 7V21.0082C21 21.556 20.5551 22 20.0066 22H3.9934C3.44476 22 3 21.5447 3 21.0082V2.9918C3 2.44405 3.44495 2 3.9934 2H16ZM17.6569 12L14.1213 8.46447L12.7071 9.87868L14.8284 12L12.7071 14.1213L14.1213 15.5355L17.6569 12ZM6.34315 12L9.87868 15.5355L11.2929 14.1213L9.17157 12L11.2929 9.87868L9.87868 8.46447L6.34315 12Z'%3E%3C/path%3E%3C/svg%3E");
|
||||||
|
}
|
||||||
|
|
||||||
|
.pdf {
|
||||||
|
background-color: #bf616a;
|
||||||
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(255,255,255,1)'%3E%3Cpath d='M3.9985 2C3.44749 2 3 2.44405 3 2.9918V21.0082C3 21.5447 3.44476 22 3.9934 22H20.0066C20.5551 22 21 21.5489 21 20.9925L20.9997 7L16 2H3.9985ZM10.5 7.5H12.5C12.5 9.98994 14.6436 12.6604 17.3162 13.5513L16.8586 15.49C13.7234 15.0421 10.4821 16.3804 7.5547 18.3321L6.3753 16.7191C7.46149 15.8502 8.50293 14.3757 9.27499 12.6534C10.0443 10.9373 10.5 9.07749 10.5 7.5ZM11.1 13.4716C11.3673 12.8752 11.6043 12.2563 11.8037 11.6285C12.2754 12.3531 12.8553 13.0182 13.5102 13.5953C12.5284 13.7711 11.5666 14.0596 10.6353 14.4276C10.8 14.1143 10.9551 13.7948 11.1 13.4716Z'%3E%3C/path%3E%3C/svg%3E");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: light) {
|
||||||
|
background-color: #fff;
|
||||||
|
color: #2e3440;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
main.song {
|
||||||
|
height: 100dvh;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
max-width: 50em;
|
||||||
|
margin: 0 auto;
|
||||||
|
|
||||||
|
iframe {
|
||||||
|
flex-grow: 1;
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
padding-left: .5em;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.controls {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 2em;
|
||||||
|
background-color: #3b4252;
|
||||||
|
|
||||||
|
section {
|
||||||
|
display:flex;
|
||||||
|
|
||||||
|
&.font-size>.button:hover, &.font-size>.button.active { background-color: #bf616a }
|
||||||
|
&.transpose>.button:hover, &.transpose>.button.active { background-color: #5e81ac }
|
||||||
|
&.autoscroll>.button:hover, &.autoscroll>.button.active { background-color: #d08770 }
|
||||||
|
&.autoscroll>#autoscroll.active { background-color: #bf616a }
|
||||||
|
|
||||||
|
.button{
|
||||||
|
display: grid;
|
||||||
|
align-items: center;
|
||||||
|
justify-items: center;
|
||||||
|
height: 2.5em;
|
||||||
|
width: 2.5em;
|
||||||
|
cursor: pointer;
|
||||||
|
background-position: center;
|
||||||
|
background-size: 1.5em;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
|
||||||
|
|
||||||
|
&.icon-add {
|
||||||
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(255,255,255,1)'%3E%3Cpath d='M11 11V5H13V11H19V13H13V19H11V13H5V11H11Z'%3E%3C/path%3E%3C/svg%3E");
|
||||||
|
}
|
||||||
|
&.icon-subtract {
|
||||||
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(255,255,255,1)'%3E%3Cpath d='M5 11V13H19V11H5Z'%3E%3C/path%3E%3C/svg%3E");
|
||||||
|
}
|
||||||
|
&.icon-font-size {
|
||||||
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(255,255,255,1)'%3E%3Cpath d='M11.246 15H4.75416L2.75416 20H0.600098L7.0001 4H9.0001L15.4001 20H13.246L11.246 15ZM10.446 13L8.0001 6.88516L5.55416 13H10.446ZM21.0001 12.5351V12H23.0001V20H21.0001V19.4649C20.4118 19.8052 19.7287 20 19.0001 20C16.791 20 15.0001 18.2091 15.0001 16C15.0001 13.7909 16.791 12 19.0001 12C19.7287 12 20.4118 12.1948 21.0001 12.5351ZM19.0001 18C20.1047 18 21.0001 17.1046 21.0001 16C21.0001 14.8954 20.1047 14 19.0001 14C17.8955 14 17.0001 14.8954 17.0001 16C17.0001 17.1046 17.8955 18 19.0001 18Z'%3E%3C/path%3E%3C/svg%3E");
|
||||||
|
}
|
||||||
|
&.icon-transpose {
|
||||||
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(255,255,255,1)'%3E%3Cpath d='M12 13.5351V3H20V5H14V17C14 19.2091 12.2091 21 10 21C7.79086 21 6 19.2091 6 17C6 14.7909 7.79086 13 10 13C10.7286 13 11.4117 13.1948 12 13.5351ZM10 19C11.1046 19 12 18.1046 12 17C12 15.8954 11.1046 15 10 15C8.89543 15 8 15.8954 8 17C8 18.1046 8.89543 19 10 19Z'%3E%3C/path%3E%3C/svg%3E");
|
||||||
|
}
|
||||||
|
&.icon-scroll {
|
||||||
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(255,255,255,1)'%3E%3Cpath d='M12 10.0858L7.20712 5.29291L5.79291 6.70712L12 12.9142L18.2071 6.70712L16.7929 5.29291L12 10.0858ZM18 17L6.00001 17L6.00001 15L18 15V17Z'%3E%3C/path%3E%3C/svg%3E");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: $width-mobile) {
|
||||||
|
gap: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
// This is removed via JS to prevent displaying the controls
|
||||||
|
// on browsers wih JavaScript disabled.
|
||||||
|
.hidden {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
BIN
static/favicon.png
Normal file
BIN
static/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 39 KiB |
16
static/fonts/liberation-fonts-ttf-2.1.5/AUTHORS
Normal file
16
static/fonts/liberation-fonts-ttf-2.1.5/AUTHORS
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
AUTHORS
|
||||||
|
|
||||||
|
Current Contributors (sorted alphabetically):
|
||||||
|
|
||||||
|
- Vishal Vijayraghavan <vishalvvr at fedoraproject dot org>
|
||||||
|
Project Owner/ Maintainer (Current)
|
||||||
|
Red Hat, Inc.
|
||||||
|
|
||||||
|
Previous Contributors
|
||||||
|
- Pravin Satpute <psatpute at redhat dot com>
|
||||||
|
Project Owner/ Maintainer
|
||||||
|
Red Hat, Inc.
|
||||||
|
|
||||||
|
- Steve Matteson
|
||||||
|
Original Designer
|
||||||
|
Ascender, Inc.
|
102
static/fonts/liberation-fonts-ttf-2.1.5/LICENSE
Normal file
102
static/fonts/liberation-fonts-ttf-2.1.5/LICENSE
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
Digitized data copyright (c) 2010 Google Corporation
|
||||||
|
with Reserved Font Arimo, Tinos and Cousine.
|
||||||
|
Copyright (c) 2012 Red Hat, Inc.
|
||||||
|
with Reserved Font Name Liberation.
|
||||||
|
|
||||||
|
This Font Software is licensed under the SIL Open Font License,
|
||||||
|
Version 1.1.
|
||||||
|
|
||||||
|
This license is copied below, and is also available with a FAQ at:
|
||||||
|
http://scripts.sil.org/OFL
|
||||||
|
|
||||||
|
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||||
|
|
||||||
|
PREAMBLE The goals of the Open Font License (OFL) are to stimulate
|
||||||
|
worldwide development of collaborative font projects, to support the font
|
||||||
|
creation efforts of academic and linguistic communities, and to provide
|
||||||
|
a free and open framework in which fonts may be shared and improved in
|
||||||
|
partnership with others.
|
||||||
|
|
||||||
|
The OFL allows the licensed fonts to be used, studied, modified and
|
||||||
|
redistributed freely as long as they are not sold by themselves.
|
||||||
|
The fonts, including any derivative works, can be bundled, embedded,
|
||||||
|
redistributed and/or sold with any software provided that any reserved
|
||||||
|
names are not used by derivative works. The fonts and derivatives,
|
||||||
|
however, cannot be released under any other type of license. The
|
||||||
|
requirement for fonts to remain under this license does not apply to
|
||||||
|
any document created using the fonts or their derivatives.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DEFINITIONS
|
||||||
|
"Font Software" refers to the set of files released by the Copyright
|
||||||
|
Holder(s) under this license and clearly marked as such.
|
||||||
|
This may include source files, build scripts and documentation.
|
||||||
|
|
||||||
|
"Reserved Font Name" refers to any names specified as such after the
|
||||||
|
copyright statement(s).
|
||||||
|
|
||||||
|
"Original Version" refers to the collection of Font Software components
|
||||||
|
as distributed by the Copyright Holder(s).
|
||||||
|
|
||||||
|
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||||
|
or substituting ? in part or in whole ?
|
||||||
|
any of the components of the Original Version, by changing formats or
|
||||||
|
by porting the Font Software to a new environment.
|
||||||
|
|
||||||
|
"Author" refers to any designer, engineer, programmer, technical writer
|
||||||
|
or other person who contributed to the Font Software.
|
||||||
|
|
||||||
|
|
||||||
|
PERMISSION & CONDITIONS
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||||
|
redistribute, and sell modified and unmodified copies of the Font
|
||||||
|
Software, subject to the following conditions:
|
||||||
|
|
||||||
|
1) Neither the Font Software nor any of its individual components,in
|
||||||
|
Original or Modified Versions, may be sold by itself.
|
||||||
|
|
||||||
|
2) Original or Modified Versions of the Font Software may be bundled,
|
||||||
|
redistributed and/or sold with any software, provided that each copy
|
||||||
|
contains the above copyright notice and this license. These can be
|
||||||
|
included either as stand-alone text files, human-readable headers or
|
||||||
|
in the appropriate machine-readable metadata fields within text or
|
||||||
|
binary files as long as those fields can be easily viewed by the user.
|
||||||
|
|
||||||
|
3) No Modified Version of the Font Software may use the Reserved Font
|
||||||
|
Name(s) unless explicit written permission is granted by the
|
||||||
|
corresponding Copyright Holder. This restriction only applies to the
|
||||||
|
primary font name as presented to the users.
|
||||||
|
|
||||||
|
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||||
|
Software shall not be used to promote, endorse or advertise any
|
||||||
|
Modified Version, except to acknowledge the contribution(s) of the
|
||||||
|
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
5) The Font Software, modified or unmodified, in part or in whole, must
|
||||||
|
be distributed entirely under this license, and must not be distributed
|
||||||
|
under any other license. The requirement for fonts to remain under
|
||||||
|
this license does not apply to any document created using the Font
|
||||||
|
Software.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
TERMINATION
|
||||||
|
This license becomes null and void if any of the above conditions are not met.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DISCLAIMER
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
|
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||||
|
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||||
|
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER
|
||||||
|
DEALINGS IN THE FONT SOFTWARE.
|
||||||
|
|
BIN
static/fonts/liberation-fonts-ttf-2.1.5/LiberationMono-Bold.ttf
Normal file
BIN
static/fonts/liberation-fonts-ttf-2.1.5/LiberationMono-Bold.ttf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
static/fonts/liberation-fonts-ttf-2.1.5/LiberationSans-Bold.ttf
Normal file
BIN
static/fonts/liberation-fonts-ttf-2.1.5/LiberationSans-Bold.ttf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
static/fonts/liberation-fonts-ttf-2.1.5/LiberationSerif-Bold.ttf
Normal file
BIN
static/fonts/liberation-fonts-ttf-2.1.5/LiberationSerif-Bold.ttf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
54
static/js/filter.js
Normal file
54
static/js/filter.js
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
const filters = document.querySelector(".filters");
|
||||||
|
const buttons = Array.from(filters.querySelectorAll(".button"));
|
||||||
|
const search = document.querySelector("input[type='search']");
|
||||||
|
const form = document.querySelector("form");
|
||||||
|
const songList = document.querySelector(".song-list");
|
||||||
|
|
||||||
|
let selectedCategory = null;
|
||||||
|
|
||||||
|
function buttonToggle(clickedButton) {
|
||||||
|
buttons.forEach(button => {
|
||||||
|
if (button === clickedButton && !button.classList.contains("selected")) {
|
||||||
|
button.classList.add("selected");
|
||||||
|
selectedCategory = button.dataset.category;
|
||||||
|
} else {
|
||||||
|
button.classList.remove("selected");
|
||||||
|
if (button.dataset.category == selectedCategory) selectedCategory = null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
filterSongs();
|
||||||
|
}
|
||||||
|
|
||||||
|
function filterSongs() {
|
||||||
|
const searchTerm = sanitizeString(search.value);
|
||||||
|
const songs = Array.from(songList.children);
|
||||||
|
songs.forEach(song => {
|
||||||
|
const matching = (
|
||||||
|
(song.dataset.title.includes(searchTerm) || (song.dataset.artist && song.dataset.artist.includes(searchTerm))) &&
|
||||||
|
(!selectedCategory || song.dataset.category === selectedCategory)
|
||||||
|
);
|
||||||
|
song.classList.toggle("hidden", !matching);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function sanitizeString(string) {
|
||||||
|
return string.trim().toLowerCase().normalize("NFD").replace(/\p{Diacritic}/gu, "")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Event listeners
|
||||||
|
search.addEventListener("input", filterSongs);
|
||||||
|
// Filtering happens before the reset itself without this timeout
|
||||||
|
form.addEventListener("reset", () => setTimeout(filterSongs, 0));
|
||||||
|
buttons.forEach(button => button.addEventListener("click", () => buttonToggle(button)));
|
||||||
|
|
||||||
|
// Normalize song titles
|
||||||
|
Array.from(songList.children).forEach(song => {
|
||||||
|
song.dataset.title = sanitizeString(song.dataset.title);
|
||||||
|
if (song.dataset.artist) {
|
||||||
|
song.dataset.artist = sanitizeString(song.dataset.artist);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Display the filter section on JS-enabled browsers
|
||||||
|
window.addEventListener("load", () => filters.classList.remove = "hidden");
|
||||||
|
|
104
static/js/song-controls.js
Normal file
104
static/js/song-controls.js
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
const controls = document.querySelector(".controls");
|
||||||
|
const song = document.querySelector("iframe.song").contentWindow;
|
||||||
|
|
||||||
|
// Autoscroll
|
||||||
|
let scroll;
|
||||||
|
let scrollTimeout = 60;
|
||||||
|
const minTimeout = 10;
|
||||||
|
const maxTimeout = 120;
|
||||||
|
const scrollIncrement = 20;
|
||||||
|
|
||||||
|
function pageScroll() {
|
||||||
|
song.scrollBy(0, 1);
|
||||||
|
scroll = setTimeout(pageScroll, scrollTimeout);
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateScrollSpeed() {
|
||||||
|
if (controls.querySelector("#autoscroll").classList.contains("active")) {
|
||||||
|
clearTimeout(scroll);
|
||||||
|
scroll = setTimeout(pageScroll, scrollTimeout);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
controls.querySelector("#autoscroll-increase").addEventListener("click", () => {
|
||||||
|
scrollTimeout = Math.max(minTimeout, scrollTimeout - scrollIncrement);
|
||||||
|
updateScrollSpeed();
|
||||||
|
});
|
||||||
|
|
||||||
|
controls.querySelector("#autoscroll-decrease").addEventListener("click", () => {
|
||||||
|
scrollTimeout = Math.min(maxTimeout, scrollTimeout + scrollIncrement);
|
||||||
|
updateScrollSpeed();
|
||||||
|
});
|
||||||
|
|
||||||
|
controls.querySelector("#autoscroll").addEventListener("click", function() {
|
||||||
|
this.classList.toggle("active");
|
||||||
|
if (this.classList.contains("active")) {
|
||||||
|
pageScroll();
|
||||||
|
} else {
|
||||||
|
clearTimeout(scroll);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Scaling
|
||||||
|
function pageScale(value) {
|
||||||
|
if (value === 0) {
|
||||||
|
song.document.body.style.transform = "scale(1)";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const currentScale =
|
||||||
|
parseFloat(song.document.body.style.transform.split("scale(")[1]) || 1;
|
||||||
|
song.document.body.style.transform = "scale(" + (currentScale + value) + ")";
|
||||||
|
}
|
||||||
|
|
||||||
|
controls
|
||||||
|
.querySelector("#font-size-increase")
|
||||||
|
.addEventListener("click", () => pageScale(0.1));
|
||||||
|
controls
|
||||||
|
.querySelector("#font-size-decrease")
|
||||||
|
.addEventListener("click", () => pageScale(-0.1));
|
||||||
|
controls
|
||||||
|
.querySelector("#font-size-reset")
|
||||||
|
.addEventListener("click", () => pageScale(0));
|
||||||
|
|
||||||
|
// Display the controls on JS-enabled browsers
|
||||||
|
window.addEventListener("load", () => (controls.classList.remove = "hidden"));
|
||||||
|
|
||||||
|
// Transpose
|
||||||
|
let transCounter = 0;
|
||||||
|
const chords = ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B",];
|
||||||
|
const chordsFlat = ["C", "Db", "D", "Eb", "E", "F", "Gb", "G", "Ab", "A", "Bb", "B",];
|
||||||
|
|
||||||
|
function transposeChord(chord, steps) {
|
||||||
|
let useFlats = chord.includes("b");
|
||||||
|
let chordList = useFlats ? chordsFlat : chords;
|
||||||
|
|
||||||
|
let match = chord.match(/^([A-G][#b]?)/);
|
||||||
|
if (!match) return chord;
|
||||||
|
|
||||||
|
let root = match[1];
|
||||||
|
let index = chordList.indexOf(root);
|
||||||
|
if (index === -1) return chord;
|
||||||
|
|
||||||
|
let newIndex = (index + steps + 12) % 12;
|
||||||
|
let transposedRoot = chordList[newIndex];
|
||||||
|
|
||||||
|
return transposedRoot + chord.slice(root.length);
|
||||||
|
}
|
||||||
|
|
||||||
|
function transposeSong(steps) {
|
||||||
|
const iframe = document.querySelector("iframe.song");
|
||||||
|
const innerDoc = iframe.contentDocument || iframe.contentWindow.document;
|
||||||
|
|
||||||
|
innerDoc.querySelectorAll("tr.chords td").forEach((td) => {
|
||||||
|
let chord = td.textContent.trim();
|
||||||
|
if (chord) {
|
||||||
|
td.textContent = transposeChord(chord, steps);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
document.querySelector("#transpose-decrease").addEventListener("click", () => { transposeSong(-1); transCounter -= 1 });
|
||||||
|
|
||||||
|
document.querySelector("#transpose-increase").addEventListener("click", () => { transposeSong(1); transCounter += 1 });
|
||||||
|
|
||||||
|
document.querySelector("#transpose-reset").addEventListener("click", () => { transposeSong(transCounter * -1); transCounter = 0; });
|
54
templates/index.html
Normal file
54
templates/index.html
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
{% import "macros.html" as macros %}
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>{% block title %}{{ config.title }}{% endblock %}</title>
|
||||||
|
<link rel="stylesheet" href="{{ get_url(path="/style.css") }}">
|
||||||
|
<link rel="icon" type="image/png" href="{{ get_url(path="/favicon.png") }}">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
{% block content %}
|
||||||
|
<main class="songs">
|
||||||
|
<section class="filters">
|
||||||
|
<form>
|
||||||
|
<input type="search" placeholder="Hledat">
|
||||||
|
<input type="reset" value="">
|
||||||
|
</form>
|
||||||
|
<div class="button" data-category="classic">Classic</div>
|
||||||
|
<div class="button" data-category="mixtape">Mixtape</div>
|
||||||
|
</section>
|
||||||
|
<section class="song-list">
|
||||||
|
{% for song in section.pages %}
|
||||||
|
<div class="{{ macros::primary_category(song=song) }}"
|
||||||
|
data-title="{{ song.title }}"
|
||||||
|
data-category="{{ macros::primary_category(song=song) }}"
|
||||||
|
{% if song.taxonomies["artist"] %}
|
||||||
|
data-artist="{{ song.taxonomies["artist"][0] }}"
|
||||||
|
{% endif %}
|
||||||
|
>
|
||||||
|
<div class="meta">
|
||||||
|
<div class="title">{{ song.title }}</div>
|
||||||
|
{% if song.taxonomies["artist"] %}
|
||||||
|
<div class="artist">{{ song.taxonomies["artist"][0] }}</div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
<div class="links">
|
||||||
|
<a href="{{ song.permalink }}" class="html"></a>
|
||||||
|
{% for asset in song.assets %}
|
||||||
|
{% if asset is matching(song.slug~"[.](pdf)$") %}
|
||||||
|
<a href="{{ asset }}" class="pdf"></a>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
{% endblock %}
|
||||||
|
{% block script %}
|
||||||
|
<script src="{{ get_url(path="/js/filter.js") }}"></script>
|
||||||
|
{% endblock %}
|
||||||
|
</body>
|
||||||
|
</html>
|
5
templates/macros.html
Normal file
5
templates/macros.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{% macro primary_category(song) %}
|
||||||
|
{%- if song.taxonomies["category"] -%}
|
||||||
|
{{ song.taxonomies["category"][0] }}
|
||||||
|
{%- endif -%}
|
||||||
|
{% endmacro %}
|
33
templates/song.html
Normal file
33
templates/song.html
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<main class="song">
|
||||||
|
{% for asset in page.assets %}
|
||||||
|
{% if asset is matching(page.slug~"[.](html)$") %}
|
||||||
|
<iframe class="song" src="{{ asset }}"></iframe>
|
||||||
|
<nav class="controls hidden">
|
||||||
|
<section class="font-size">
|
||||||
|
<div class="button icon-subtract" id="font-size-decrease"></div>
|
||||||
|
<div class="button icon-font-size" id="font-size-reset"></div>
|
||||||
|
<div class="button icon-add" id="font-size-increase"></div>
|
||||||
|
</section>
|
||||||
|
<section class="transpose">
|
||||||
|
<div class="button icon-subtract" id="transpose-decrease"></div>
|
||||||
|
<div class="button icon-transpose" id="transpose-reset"></div>
|
||||||
|
<div class="button icon-add" id="transpose-increase"></div>
|
||||||
|
</section>
|
||||||
|
<section class="autoscroll">
|
||||||
|
<div class="button icon-subtract" id="autoscroll-decrease"></div>
|
||||||
|
<div class="button icon-scroll" id="autoscroll"></div>
|
||||||
|
<div class="button icon-add" id="autoscroll-increase"></div>
|
||||||
|
</section>
|
||||||
|
</nav>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</main>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block script %}
|
||||||
|
<script src="{{ get_url(path="/js/song-controls.js") }}"></script>
|
||||||
|
{% endblock %}
|
||||||
|
|
0
templates/taxonomy_list.html
Normal file
0
templates/taxonomy_list.html
Normal file
0
templates/taxonomy_single.html
Normal file
0
templates/taxonomy_single.html
Normal file
Reference in New Issue
Block a user