Skip to content

Commit

Permalink
Merge branch 'main' into 19-på-cassiopeia-til-foobar-er-på-to-sider
Browse files Browse the repository at this point in the history
  • Loading branch information
JakobTopholt committed Jul 5, 2024
2 parents 49a0233 + ffde941 commit cc8c1ad
Show file tree
Hide file tree
Showing 10 changed files with 200 additions and 15 deletions.
15 changes: 5 additions & 10 deletions .github/workflows/compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,17 @@ on:
jobs:
build:
runs-on: ubuntu-latest
container:
image: texlive/texlive:latest
steps:
- name: Install prerequisites
run: apt-get update && apt-get install -y ghostscript
run: sudo apt-get update && sudo apt-get install -y texlive-latex-extra ghostscript psutils
- name: Checkout repository
uses: actions/checkout@v2
- name: Compile the document
run: |
latex main.tex
makeindex main
latex main.tex
dvips main.dvi
dvipdf main.dvi kontinuerlig.pdf
sh ./ps2book.sh main.ps
ps2pdf main_book.ps sangbog.pdf
make pdf
make booklet
mv main.pdf kontinuerlig.pdf
mv main_book.pdf sangbog.pdf
- name: Upload songbook (booklet)
uses: actions/upload-artifact@v2
with:
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@ main.ind
main.dvi
main.ilg
main.pdf

# nix
result
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ ps: dvi
dvips $(DVIFILE)

pdf: dvi
dvipdf -ta4 $(DVIFILE)
dvipdf -sPAPERSIZE=a4 $(DVIFILE)

booklet: ps
./ps2book.sh $(PSFILE)
Expand Down
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,23 @@ For Debian-based systems (in other distributions package names may vary):
3. Build the sangbog
`make booklet` for booklet format, `make pdf` for non-booklet (continuous) format

Building using nix
-------------
For nix based systems with flakes enabled:
1. Fetch the source code
```sh
git clone https://github.com/f-klubben/sangbog.git
```
2. Enter environment
```sh
nix develop
```
3. Build pdf
```sh
make booklet
```
Or build and run the latest version locally: `nix run github:f-klubben/sangbog`

Adding new songs
-------------
Songs are stored in `/sange` so the process of adding a new song is
Expand Down
26 changes: 26 additions & 0 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

50 changes: 50 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{
description = "F-klubben sangbog";

inputs = {
nixpkgs.url = "nixpkgs/nixos-23.11";
};

outputs = { self, nixpkgs }: let
system = "x86_64-linux";
pkgs = import nixpkgs {inherit system;};
deps = with pkgs; [ ghostscript texliveFull psutils gnumake which perl ];
booklet = pkgs.stdenv.mkDerivation rec {
name = "F-klubbens sangbog booklet";
src = ./.;
nativeBuildInputs = deps;
installPhase = ''
mkdir -p $out/{bin,share}
${pkgs.gnumake}/bin/make booklet
mv main_book.pdf $out/share
echo "${pkgs.xdg-utils}/bin/xdg-open $out/share/main_book.pdf" > $out/bin/${builtins.replaceStrings [" "] ["-"] name}
chmod +x $out/bin/${builtins.replaceStrings [" "] ["-"] name}
'';
};
pdf = pkgs.stdenv.mkDerivation rec{
name = "F-klubbens sangbog continuous";
src = ./.;
nativeBuildInputs = deps;
installPhase = ''
mkdir -p $out/{bin,share}
${pkgs.gnumake}/bin/make pdf
mv main.pdf $out/share
echo "${pkgs.xdg-utils}/bin/xdg-open $out/share/main.pdf" > $out/bin/${builtins.replaceStrings [" "] ["-"] name}
chmod +x $out/bin/${builtins.replaceStrings [" "] ["-"] name}
'';

};

in {
devShells.${system}.default = pkgs.mkShell {
packages = deps;
};

packages.${system} = {
default = booklet;
pdf = pdf;
booklet = booklet;
};

};
}
3 changes: 3 additions & 0 deletions main.tex
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,11 @@
\newpage
\input{sange/paacassiopeiatilfoobar.tex}
\newpage
\input{sange/fiterfrit.tex}
\input{sange/flagsang.tex}
\newpage
\input{sange/CLRS.tex}
\newpage

%%% Lejerbålssange
\begin{center}
Expand Down
55 changes: 55 additions & 0 deletions sange/CLRS.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
\begin{sang}{CLRS}{Melodi: VLTJ - Tørfisk. Forfatter: Topholt}
\begin{vers}
Et sted derude mod store O
Derude hvor $n^2$ er go'
Kører nestet loops med rekursion
Mod nye mål med min og if
Mod nye mål med max og if
Den hedder CLRS
\end{vers}

\begin{omkvaed}
Den starter med Insertion Sort
Går' over til run time analys'
Tar' hen mod bubble hvor den N'er helt i $O(n^2)$ //Kvadratisk
Alg'en er en dejlig hurtig op på stacken, ind i heapen, gennem queuen, når
Man læser i CLRS
\end{omkvaed}

\begin{vers}
I de lumre lokaler langt ude mod øst
Læses bøgerne med manglende lyst
Dog læses bogen mer' og mer'
Læse alg på Cass-i-ope-ia
\textit{\$s du ved godt det ikke hedder Cass-i-ope-ia, det hedder Cass-i-opeia}
\textit{Det kan $(han||hun)$ da ikke selv gøre for (nå)}
Læse alg på Cass-i-opeia!
Med Bacci som lektor
\emph{Den starter med Insertion sort}\ldots
\end{vers}

\begin{vers}
Og boolen den blir' reassign
Et i-n i $\Theta$s tegn
En dejlig run-time syns' de
Hvor alg'en vender og kører mod top
Hvor alg'en vender og kører mod top
Mod $O(log n)$ tid (Wrhh!) //logaritmisk
Var det seg fault?
\emph{Den starter med Insertion sort}\ldots
\end{vers}

\begin{vers}
Sorteret array har vi nået
Ja det gik som hvor IDE havde spået
Alg'en holdte til input og vi har fået
En tur med hash og graf så skøn
En tur med hash og graf så skøn
Med $O(1)$ tids lookup //Konstant
Hashmap!
\emph{Den starter med Insertion sort}\ldots
Alg'en, alg'en
Alg'en er en dejlig hurtig op på stacken, ind i heapen, gennem queuen, når
Man læser i CLRS
\end{vers}
\end{sang}
7 changes: 3 additions & 4 deletions sange/costadelsol.tex
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@
Ja, så forsvinder jeg også.
Sydpå til Spanien og mit luksuseksil
for at te mig som en tosse
På Costa del sol, hvor solen danser\
en inciterende flamingo
i min swimmingpool
På Costa del sol, hvor solen den danser
en inciterende flamingo i min swimmingpool
har keep cool altid været mit motto
Mit navn er Günter
men folk hernede kalder mig Otto
Expand Down Expand Up @@ -46,4 +45,4 @@
For øjeblikket ....
\end{vers}
\laps
\end{sang}
\end{sang}
37 changes: 37 additions & 0 deletions sange/fiterfrit.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
\begin{sang}{Fit er frit}{Melodi: Bella Ciao}
\begin{vers}
Koden.
Den er åben
For Fit er frit, Fit er frit, Fit er frit, frit, frit
Ja, koden den er åben
For alle og enhver
\end{vers}
\begin{vers}
Stregsystemet
Er skrev’d i django
For Fit er frit, Fit er frit, Fit er frit, frit, frit
Stregsystemet er skrev’d i django
Det kan vi ik’ gør’ noget ved
\end{vers}
\begin{vers}
Al’ Mail boxes
De skal spammes
For Fit er frit, Fit er frit, Fit er frit, frit, frit
Alle mail boxes, de skal spammes
Så vi sender mer’ end vi får.
\end{vers}
\begin{vers}
Brug emojis
I transaktioner
For Fit er frit, Fit er frit, Fit er frit, frit, frit
Brug emojis alle emojis
De lukker stregsystemet ned
\end{vers}
\begin{vers}
Og når formanden
Han vil høres
For Fit er frit, Fit er frit, Fit er frit, frit, frit
når formanden han vil høres
Så kan han lav’ et pull request
\end{vers}
\end{sang}

0 comments on commit cc8c1ad

Please sign in to comment.